title: Marvin Attack vulnerability in SP Math All RSA
description: wolfSSL SP Math All RSA implementation is vulnerable to the Marvin Attack, new variation of a timing Bleichenbacher style attack, when built with the following options to configure:
--enable-all CFLAGS="-DWOLFSSL_STATIC_RSA"
The define “WOLFSSL_STATIC_RSA” enables static RSA cipher suites, which is not recommended, and has been disabled by default since wolfSSL 3.6.6.  Therefore the default build since 3.6.6, even with "--enable-all", is not vulnerable to the Marvin Attack. The vulnerability is specific to static RSA cipher suites, and expected to be padding-independent.
The vulnerability allows an attacker to decrypt ciphertexts and forge signatures after probing with a large number of test observations. However the server’s private key is not exposed.
problem types: CWE-203 Observable Discrepancy
affected:
{
defaultStatus: unaffected
modules: RSA
product: wolfSSL
repo: https://github.com/wolfSSL/wolfssl
vendor: wolfSSL
versions:
lessThanOrEqual: 5.6.4, status: affected, version: 3.12.2, versionType: release bundle
}
metrics:
cvssV3_1: [
attackComplexity: HIGH
attackVector: NETWORK
availabilityImpact: NONE
baseScore: 5.9
baseSeverity: MEDIUM
confidentialityImpact: HIGH
integrityImpact: NONE
privilegesRequired: NONE
scope: UNCHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
version: 3.1
]
format: CVSS
scenarios: GENERAL
solutions: Upgrade wolfSSL to 5.6.6
workarounds:   *  Do not enable static RSA cipher suites
*  Use TLS 1.3
*  Build with --enable-sp, or --enable-sp-asm