CVE-2026-32877
Botan: Heap Buffer Over-read in SM2 Decryption via Undersized C3 Hash Field
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.2
Botan: Heap Buffer Over-read in SM2 Decryption via Undersized C3 Hash Field
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2026-17210
8.2
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
EUVD-2026-17210- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
NVD
8.2
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-32877
8.2
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
ALPINE-CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
OSV
8.2
Botan: Heap Buffer Over-read in SM2 Decryption via Undersized C3 Hash Field
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-32877
8.2
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
DEBIAN-CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVOESA-2026-4214
8.2
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.(CVE-2026-32877)
Botan is a C++ cryptography library. Prior to 3.12.0, certain patterns of indefinite length encodings in BER data could cause quadratic behavior in the parser, resulting in a denial of service. Such BER encodings were accepted even in structures which are required to be encoded as DER, which prohibits indefinite length encodings. This vulnerability is fixed in 3.12.0.(CVE-2026-44378)
- Record
OESA-2026-4214- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2026-4215
8.2
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.(CVE-2026-32877)
Botan is a C++ cryptography library. Prior to 3.12.0, certain patterns of indefinite length encodings in BER data could cause quadratic behavior in the parser, resulting in a denial of service. Such BER encodings were accepted even in structures which are required to be encoded as DER, which prohibits indefinite length encodings. This vulnerability is fixed in 3.12.0.(CVE-2026-44378)
- Record
OESA-2026-4215- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2026-4216
8.2
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.(CVE-2026-32877)
Botan is a C++ cryptography library. Prior to 3.12.0, certain patterns of indefinite length encodings in BER data could cause quadratic behavior in the parser, resulting in a denial of service. Such BER encodings were accepted even in structures which are required to be encoded as DER, which prohibits indefinite length encodings. This vulnerability is fixed in 3.12.0.(CVE-2026-44378)
- Record
OESA-2026-4216- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-32877
8.2
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
- Record
UBUNTU-CVE-2026-32877- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
botan3Alpine:v3.24 |
before 3.11.0-r0 | 3.11.0-r0 |
botanDebian:12 |
All versions, plus listed versions 2.19.3+dfsg-12.19.3+dfsg-1+deb12u12.19.4+dfsg-12.19.5+dfsg-12.19.5+dfsg-22.19.5+dfsg-32.19.5+dfsg-4 |
None known |
botanDebian:13 |
All versions, plus listed versions 2.19.5+dfsg-4 |
None known |
botan3Debian:13 |
before 3.11.0+dfsg-2, plus listed versions 3.10.0+dfsg-13.10.0+dfsg-23.11.0+dfsg-13.7.1+dfsg-23.8.1+dfsg-13.9.0+dfsg-13.9.0+dfsg-23.9.0+dfsg-2.1 |
3.11.0+dfsg-2 |
botan3Debian:14 |
before 3.11.0+dfsg-2, plus listed versions 3.10.0+dfsg-13.10.0+dfsg-23.11.0+dfsg-13.7.1+dfsg-23.8.1+dfsg-13.9.0+dfsg-13.9.0+dfsg-23.9.0+dfsg-2.1 |
3.11.0+dfsg-2 |
botan2openEuler:22.03-LTS-SP4 |
before 2.19.3-6.oe2203sp4 | 2.19.3-6.oe2203sp4 |
botan2openEuler:24.03-LTS-SP1 |
before 2.19.3-7.oe2403sp1 | 2.19.3-7.oe2403sp1 |
botan2openEuler:24.03-LTS-SP3 |
before 2.19.3-7.oe2403sp3 | 2.19.3-7.oe2403sp3 |
botan1.10Ubuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.10.5-11.10.5-1ubuntu11.10.5-1+deb7u1ubuntu0.14.04.11.10.5-1+deb7u1ubuntu0.14.04.1+esm1 |
None known |
botan1.10Ubuntu:16.04:LTS |
All versions, plus listed versions 1.10.10-61.10.12-1 |
None known |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
botanUbuntu:18.04:LTS |
All versions, plus listed versions 2.4.0-32.4.0-42.4.0-5ubuntu1 |
None known |
botan1.10Ubuntu:18.04:LTS |
All versions, plus listed versions 1.10.16-11.10.17-0.1 |
None known |
botanUbuntu:20.04:LTS |
All versions, plus listed versions 2.9.0-22.9.0-2build12.12.1-22.12.1-2build1 |
None known |
botanUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.17.3+dfsg-32.19.1+dfsg-2ubuntu12.19.1+dfsg-2ubuntu1+esm1 |
None known |
botanUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 2.19.3+dfsg-1ubuntu12.19.3+dfsg-1ubuntu22.19.3+dfsg-1ubuntu2+esm1 |
None known |
botanUbuntu:25.10 |
All versions, plus listed versions 2.19.5+dfsg-4 |
None known |
botan3Ubuntu:25.10 |
All versions, plus listed versions 3.7.1+dfsg-2 |
None known |
botan3Ubuntu:26.10 |
All versions, plus listed versions 3.10.0+dfsg-23.11.1+dfsg-23.12.0+dfsg-2 |
None known |
botan3Ubuntu:26.04:LTS |
All versions, plus listed versions 3.7.1+dfsg-23.10.0+dfsg-2 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-32877 is a high vulnerability (CVSS 8.2) in Botan Project Botan, published March 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in botan3 3.11.0-r0.
References
github.com/randombit/botan/security/advisories/GHSA-7jj6-4r42-w9h6
security.alpinelinux.org/vuln/CVE-2026-32877
github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32877.json
nvd.nist.gov/vuln/detail/CVE-2026-32877
security-tracker.debian.org/tracker/CVE-2026-32877
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4214