
Prova di concetto che dimostra la crittografia AES-CBC insicura con derivazione della chiave MD5 nell'app Android Meesho, consentendo la manomissione del ciphertext e potenziali attacchi padding oracle.
Autore: Soyam Arya (alias honest_corrupt)
Data della Scoperta: Marzo 2026
App Interessata: App Android Meesho (com.meesho.supply)
Stato: In Verifica
Categoria: Crittografia Insufficiente / Mancanza di Integrità dei Dati
Questo report documenta una vulnerabilità crittografica nell'applicazione Android Meesho in cui i dati sensibili vengono crittografati utilizzando AES/CBC/PKCS5Padding senza protezione dell'integrità, e la chiave di crittografia viene derivata utilizzando l'insicuro algoritmo di hashing MD5.
L'applicazione costruisce payload crittografati nel formato:
Base64(IV) . Base64(ciphertext)
Tuttavia, a causa dell'assenza di autenticazione (ad es., HMAC o modalità AEAD come AES-GCM), l'implementazione è vulnerabile a:
Ciò viola molteplici linee guida OWASP Mobile Top 10 e MASVS relative alla crittografia.
| Categoria | Descrizione |
|---|---|
| M5: Crittografia Insufficiente | Uso di primitive crittografiche deboli (MD5, AES-CBC senza integrità) |
| CWE-327 | Uso di algoritmo crittografico rotto o rischioso |
| CWE-649 | Affidamento alla crittografia senza controllo dell'integrità |
| OWASP MASVS | MSTG-CRYPTO-3, MSTG-CRYPTO-4 |
L'ingegneria inversa ha rivelato la seguente logica:
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);
Il payload crittografato viene trasmesso nelle richieste API come:
http POST /api/endpoint
message=Base64(IV).Base64(ciphertext)

Cattura la richiesta tramite Burp Suite:
` message=AbCdEfGhIj...xyz.KLMNOPQRST... ``
Altera un singolo byte nel ciphertext:
`` Originale: ...KLMNOPQRST...
Modificato: ...KLMNOPQRSU... ``
--
Invia la richiesta modificata al server.
message| Data | Evento |
|---|---|
| Marzo 2026 | Vulnerabilità scoperta |
| Marzo 2026 | Ingegneria inversa completata |
| In sospeso | Notifica al fornitore |
| In sospeso | Richiesta CVE |
Soyam Arya (alias honest_corrupt) ID CVE: CVE-2025-5154, CVE-2025-6748 Penetration Tester per Applicazioni Mobili e Web