Every CVE Search/ Get API key

CVE-2026-32877

Botan: Heap Buffer Over-read in SM2 Decryption via Undersized C3 Hash Field

8.2 HighFix available

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

0.29%Up 0.2 points since Mar 31, 2026
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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

Affected packages
PackageAffectedFixed
botan3
Alpine:v3.24
before 3.11.0-r0
3.11.0-r0
botan
Debian: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
botan
Debian:13
All versions, plus listed versions
2.19.5+dfsg-4
None known
botan3
Debian: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
botan3
Debian: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
botan2
openEuler:22.03-LTS-SP4
before 2.19.3-6.oe2203sp4
2.19.3-6.oe2203sp4
botan2
openEuler:24.03-LTS-SP1
before 2.19.3-7.oe2403sp1
2.19.3-7.oe2403sp1
botan2
openEuler:24.03-LTS-SP3
before 2.19.3-7.oe2403sp3
2.19.3-7.oe2403sp3
botan1.10
Ubuntu: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.10
Ubuntu:16.04:LTS
All versions, plus listed versions
1.10.10-61.10.12-1
None known
Show 9 moreShow less
Affected packages
PackageAffectedFixed
botan
Ubuntu:18.04:LTS
All versions, plus listed versions
2.4.0-32.4.0-42.4.0-5ubuntu1
None known
botan1.10
Ubuntu:18.04:LTS
All versions, plus listed versions
1.10.16-11.10.17-0.1
None known
botan
Ubuntu:20.04:LTS
All versions, plus listed versions
2.9.0-22.9.0-2build12.12.1-22.12.1-2build1
None known
botan
Ubuntu: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
botan
Ubuntu: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
botan
Ubuntu:25.10
All versions, plus listed versions
2.19.5+dfsg-4
None known
botan3
Ubuntu:25.10
All versions, plus listed versions
3.7.1+dfsg-2
None known
botan3
Ubuntu:26.10
All versions, plus listed versions
3.10.0+dfsg-23.11.1+dfsg-23.12.0+dfsg-2
None known
botan3
Ubuntu:26.04:LTS
All versions, plus listed versions
3.7.1+dfsg-23.10.0+dfsg-2
None known

History

History
RecordedChangedSources
first indexedCVE 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

Show 5 moreShow less
MoveEnter Open