Un difetto relativo al padding PKCS #1 v1.5 nei server SSL, scoperto nel 1998 e ritenuto risolto, colpisce ancora oggi diversi progetti ampiamente utilizzati. Dopo ampi test che misurano le operazioni end-to-end, i ricercatori di Red Hat hanno scoperto diverse varianti dell’originale attacco temporale, collettivamente chiamate “Attacco Marvin”, che possono efficacemente eludere correzioni e mitigazioni.
Il problema permette agli aggressori di potenzialmente decrittografare i crittogrammi RSA, falsificare le firme e persino decrittografare le sessioni registrate su un server TLS vulnerabile. Utilizzando hardware standard, i ricercatori hanno dimostrato che eseguire l’Attacco Marvin in poche ore è possibile, dimostrando la sua praticità.
In base ai test condotti, le seguenti implementazioni sono vulnerabili all’attacco Marvin:
- OpenSSL (TLS level): Timing Oracle in RSA Decryption – CVE-2022-4304
- OpenSSL (API level): Make RSA decryption API safe to use with PKCS#1 v1.5 padding – No CVE
- GnuTLS (TLS level): Response times to malformed RSA ciphertexts in ClientKeyExchange differ from response times of ciphertexts with correct PKCS#1 v1.5 padding. – CVE-2023-0361
- NSS (TLS level): Improve constant-timeness in RSA operations. – CVE-2023-4421
- pyca/cryptography: Attempt to mitigate Bleichenbacher attacks on RSA decryption; found to be ineffective; requires an OpenSSL level fix instead. – CVE-2020-25659
- M2Crypto: Mitigate the Bleichenbacher timing attacks in the RSA decryption API; found to be ineffective; requires an OpenSSL level fix instead. – CVE-2020-25657
- OpenSSL-ibmca: Constant-time fixes for RSA PKCS#1 v1.5 and OAEP padding in version 2.4.0 – No CVE
- Go: crypto/rsa DecryptPKCS1v15SessionKey has limited leakage – No CVE
- GNU MP: mpz_powm_sec leaks zero high order bits in result – No CVE
Red Hat avverte che la vulnerabilità non è limitata all’RSA, ma si estende alla maggior parte degli algoritmi crittografici asimmetrici, rendendoli suscettibili agli attacchi laterali. Mentre il principale luogo di attacco sono i server TLS, i problemi di base che ne hanno causato la diffusione si applicano alla maggior parte degli algoritmi crittografici asimmetrici (Diffie-Hellman, ECDSA, ecc.), non solo all’RSA.
Nonostante non ci siano segni apparenti dell’utilizzo dell’Attacco Marvin da parte degli hacker, la divulgazione dei dettagli e delle parti dei test e del codice di fuzzing aumenta il rischio che ciò accada a breve. I ricercatori consigliano di non utilizzare la crittografia RSA PKCS#1 v1.5 e invitano gli utenti interessati a cercare o richiedere ai fornitori di fornire alternative vie di compatibilità retroattiva.