CVE-2023-4421
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting...
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
6.5
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
CVE-2023-4421- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203
- Updated
- 2026-11-02
CVE List No score
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
CVE-2023-4421- Updated
- 2026-11-02
EUVDEUVD-2023-54284 No score
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
EUVD-2023-54284- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-3hpv-hgvq-792m
6.5
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting...
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
GHSA-3hpv-hgvq-792m- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203
- Updated
- 2026-11-02
OSVBELL-CVE-2023-4421
6.5
CVE-2023-4421 does not affect BellSoft software
- Record
BELL-CVE-2023-4421- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSV
6.5
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
CVE-2023-4421- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 4 moreShow less
OSVDEBIAN-CVE-2023-4421
6.5
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
DEBIAN-CVE-2023-4421- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVOESA-2026-2612
6.5
nss security update
Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.
Security Fix(es):
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.(CVE-2023-4421)
- Record
OESA-2026-2612- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-4421
6.5
The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting Bleichenbacher-like attacks. Both the overall correctness of the padding as well as the length of the encrypted message was leaking through timing side-channel. By sending large number of attacker-selected ciphertexts, the attacker would be able to decrypt a previously intercepted PKCS#1 v1.5 ciphertext (for example, to decrypt a TLS session that used RSA key exchange), or forge a signature using the victim's key. The issue was fixed by implementing the implicit rejection algorithm, in which the NSS returns a deterministic random message in case invalid padding is detected, as proposed in the Marvin Attack paper. This vulnerability affects NSS < 3.61.
- Record
UBUNTU-CVE-2023-4421- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUSN-6727-1 No score
nss vulnerabilities
It was discovered that NSS incorrectly handled padding when checking PKCS#1 certificates. A remote attacker could possibly use this issue to perform Bleichenbacher-like attacks and recover private data. This issue only affected Ubuntu 20.04 LTS. (CVE-2023-4421)
It was discovered that NSS had a timing side-channel when performing RSA decryption. A remote attacker could possibly use this issue to recover private data. (CVE-2023-5388)
It was discovered that NSS had a timing side-channel when using certain NIST curves. A remote attacker could possibly use this issue to recover private data. (CVE-2023-6135)
The NSS package contained outdated CA certificates. This update refreshes the NSS package to version 3.98 which includes the latest CA certificate bundle and other security improvements.
- Record
USN-6727-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nssDebian:12 |
before 2:3.61-1 | 2:3.61-1 |
nssDebian:13 |
before 2:3.61-1 | 2:3.61-1 |
nssDebian:14 |
before 2:3.61-1 | 2:3.61-1 |
nssDebian:10 |
before 2:3.42.1-1+deb10u7, plus listed versions 2:3.42.1-12:3.42.1-1+deb10u12:3.42.1-1+deb10u22:3.42.1-1+deb10u32:3.42.1-1+deb10u42:3.42.1-1+deb10u52:3.42.1-1+deb10u6 |
2:3.42.1-1+deb10u7 |
nssopenEuler:20.03-LTS-SP4 |
before 3.54.0-13.oe2003sp4 | 3.54.0-13.oe2003sp4 |
nssUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 2:3.15.1-1ubuntu12:3.15.2-12:3.15.3-12:3.15.3.1-12:3.15.3.1-1.1 Show 37 moreShow less2:3.15.3.1-1.1ubuntu12:3.15.4-1ubuntu32:3.15.4-1ubuntu42:3.15.4-1ubuntu52:3.15.4-1ubuntu62:3.15.4-1ubuntu72:3.15.4-1ubuntu7.12:3.17-0ubuntu0.14.04.12:3.17.1-0ubuntu0.14.04.12:3.17.1-0ubuntu0.14.04.22:3.17.4-0ubuntu0.14.04.12:3.19.2-0ubuntu0.14.04.12:3.19.2.1-0ubuntu0.14.04.12:3.19.2.1-0ubuntu0.14.04.22:3.21-0ubuntu0.14.04.12:3.21-0ubuntu0.14.04.22:3.23-0ubuntu0.14.04.12:3.26.2-0ubuntu0.14.04.32:3.28.4-0ubuntu0.14.04.12:3.28.4-0ubuntu0.14.04.22:3.28.4-0ubuntu0.14.04.32:3.28.4-0ubuntu0.14.04.42:3.28.4-0ubuntu0.14.04.52:3.28.4-0ubuntu0.14.04.5+esm12:3.28.4-0ubuntu0.14.04.5+esm22:3.28.4-0ubuntu0.14.04.5+esm32:3.28.4-0ubuntu0.14.04.5+esm42:3.28.4-0ubuntu0.14.04.5+esm52:3.28.4-0ubuntu0.14.04.5+esm62:3.28.4-0ubuntu0.14.04.5+esm72:3.28.4-0ubuntu0.14.04.5+esm82:3.28.4-0ubuntu0.14.04.5+esm92:3.28.4-0ubuntu0.14.04.5+esm102:3.28.4-0ubuntu0.14.04.5+esm112:3.28.4-0ubuntu0.14.04.5+esm122:3.28.4-0ubuntu0.14.04.5+esm132:3.28.4-0ubuntu0.14.04.5+esm14 |
None known |
nssUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 2:3.19.2-1ubuntu12:3.19.2.1-0ubuntu12:3.21-1ubuntu22:3.21-1ubuntu32:3.21-1ubuntu4 Show 21 moreShow less2:3.23-0ubuntu0.16.04.12:3.26.2-0ubuntu0.16.04.22:3.28.4-0ubuntu0.16.04.12:3.28.4-0ubuntu0.16.04.22:3.28.4-0ubuntu0.16.04.32:3.28.4-0ubuntu0.16.04.42:3.28.4-0ubuntu0.16.04.52:3.28.4-0ubuntu0.16.04.62:3.28.4-0ubuntu0.16.04.82:3.28.4-0ubuntu0.16.04.92:3.28.4-0ubuntu0.16.04.102:3.28.4-0ubuntu0.16.04.112:3.28.4-0ubuntu0.16.04.122:3.28.4-0ubuntu0.16.04.132:3.28.4-0ubuntu0.16.04.142:3.28.4-0ubuntu0.16.04.14+esm12:3.28.4-0ubuntu0.16.04.14+esm22:3.28.4-0ubuntu0.16.04.14+esm32:3.28.4-0ubuntu0.16.04.14+esm42:3.28.4-0ubuntu0.16.04.14+esm52:3.28.4-0ubuntu0.16.04.14+esm6 |
None known |
nssUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 2:3.32-1ubuntu32:3.34-1ubuntu12:3.35-2ubuntu22:3.35-2ubuntu2.12:3.35-2ubuntu2.2 Show 14 moreShow less2:3.35-2ubuntu2.32:3.35-2ubuntu2.52:3.35-2ubuntu2.62:3.35-2ubuntu2.72:3.35-2ubuntu2.82:3.35-2ubuntu2.92:3.35-2ubuntu2.112:3.35-2ubuntu2.122:3.35-2ubuntu2.132:3.35-2ubuntu2.142:3.35-2ubuntu2.152:3.35-2ubuntu2.162:3.35-2ubuntu2.16+esm12:3.35-2ubuntu2.16+esm2 |
None known |
nssUbuntu:20.04:LTS |
before 2:3.98-0ubuntu0.20.04.1, plus listed versions 2:3.45-1ubuntu22:3.47-1ubuntu12:3.47-1ubuntu22:3.48-1ubuntu12:3.49.1-1ubuntu1 Show 8 moreShow less2:3.49.1-1ubuntu1.12:3.49.1-1ubuntu1.22:3.49.1-1ubuntu1.42:3.49.1-1ubuntu1.52:3.49.1-1ubuntu1.62:3.49.1-1ubuntu1.72:3.49.1-1ubuntu1.82:3.49.1-1ubuntu1.9 |
2:3.98-0ubuntu0.20.04.1 |
nssUbuntu:22.04:LTS |
before 2:3.98-0ubuntu0.22.04.1, plus listed versions 2:3.68-1ubuntu12:3.68-1ubuntu22:3.68.2-0ubuntu12:3.68.2-0ubuntu1.12:3.68.2-0ubuntu1.2 |
2:3.98-0ubuntu0.22.04.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-4421 is a medium vulnerability (CVSS 6.5) in Mozilla Nss, published October 18, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.76%, the 55th percentile. Fixed in nss 2:3.61-1.
References
bugzilla.mozilla.org/show_bug.cgi?id=1651411
mozilla.org/security/advisories/mfsa2023-53
lists.debian.org/debian-lts-announce/2023/10/msg00039.html
nvd.nist.gov/vuln/detail/CVE-2023-4421
github.com/advisories/GHSA-3hpv-hgvq-792m
docs.bell-sw.com/security/cves/CVE-2023-4421
Show 10 moreShow less
security-tracker.debian.org/tracker/CVE-2023-4421
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2612
ubuntu.com/security/CVE-2023-4421
access.redhat.com/security/cve/CVE-2023-4421
people.redhat.com/~hkario/marvin
mozilla.org/en-US/security/advisories/mfsa2023-53
ubuntu.com/security/notices/USN-6727-1
cve.org/CVERecord?id=CVE-2023-4421
ubuntu.com/security/CVE-2023-5388
ubuntu.com/security/CVE-2023-6135