
Beweis des Konzepts, der unsichere AES-CBC-Verschlüsselung mit MD5-Schlüsselableitung in der Meesho-Android-App demonstriert und Manipulation von Chiffretext sowie potenzielle Padding-Oracle-Angriffe ermöglicht.
Autor: Soyam Arya (alias honest_corrupt)
Datum der Entdeckung: März 2026
Betroffene App: Meesho Android App (com.meesho.supply)
Status: In Überprüfung
Kategorie: Unzureichende Kryptografie / Fehler bei der Datenintegrität
Dieser Bericht dokumentiert eine kryptografische Schwachstelle in der Meesho Android-Anwendung, bei der sensible Daten mit AES/CBC/PKCS5Padding ohne Integritätsschutz verschlüsselt werden und der Verschlüsselungsschlüssel mit dem unsicheren MD5-Hashing-Algorithmus abgeleitet wird.
Die Anwendung erstellt verschlüsselte Nutzlasten im Format:
Base64(IV) . Base64(Chiffretext)
Aufgrund des Fehlens einer Authentifizierung (z. B. HMAC oder AEAD-Modus wie AES-GCM) ist die Implementierung jedoch anfällig für:
Dies verstößt gegen mehrere OWASP Mobile Top 10- und MASVS-Kryptografierichtlinien.
| Kategorie | Beschreibung |
|---|---|
| M5: Unzureichende Kryptografie | Verwendung schwacher kryptografischer Primitive (MD5, AES-CBC ohne Integrität) |
| CWE-327 | Verwendung eines gebrochenen oder riskanten kryptografischen Algorithmus |
| CWE-649 | Vertrauen auf Verschlüsselung ohne Integritätsprüfung |
| OWASP MASVS | MSTG-CRYPTO-3, MSTG-CRYPTO-4 |
Die Reverse-Engineering-Analyse ergab die folgende Logik:
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
byte[] iv = new byte[16];
new SecureRandom().nextBytes(iv);
SecretKeySpec key = new SecretKeySpec(
MD5(str), "AES"
);
cipher.init(ENCRYPT_MODE, key, new IvParameterSpec(iv));
String message = Base64(iv) + "." + Base64(ciphertext);
Die verschlüsselte Nutzlast wird in API-Anfragen wie folgt übertragen:
http POST /api/endpoint
message=Base64(IV).Base64(Chiffretext)

Anfrage über Burp Suite abfangen:
` message=AbCdEfGhIj...xyz.KLMNOPQRST... ``
Ein einzelnes Byte im Chiffretext ändern:
`` Original: ...KLMNOPQRST...
Modifiziert: ...KLMNOPQRSU... ``
--
Modifizierte Anfrage an den Server senden.
message abfangen| Datum | Ereignis |
|---|---|
| März 2026 | Schwachstelle entdeckt |
| März 2026 | Reverse Engineering abgeschlossen |
| Ausstehend | Benachrichtigung des Anbieters |
| Ausstehend | CVE-Anfrage |
Soyam Arya (alias honest_corrupt) CVE-IDs: CVE-2025-5154, CVE-2025-6748 Penetrationstester für Mobile & Web-Anwendungen