CVE-2025-49600
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash...
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
Attack profile
How easy it is to exploit
- Attack vector
- Physical
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Weakness
- CWE-325
- Updated
- 2026-11-02
EUVDEUVD-2025-20080
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
EUVD-2025-20080- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r3gf-c2cf-vp8q
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash...
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
GHSA-r3gf-c2cf-vp8q- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Weakness
- CWE-325
- Updated
- 2026-11-02
NVD
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Weakness
- CWE-325
- Updated
- 2026-11-02
OSVALPINE-CVE-2025-49600
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
ALPINE-CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Updated
- 2026-11-03
OSV
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Weakness
- CWE-325
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-49600
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
DEBIAN-CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-49600
4.9
In MbedTLS 3.3.0 before 3.6.4, mbedtls_lms_verify may accept invalid signatures if hash computation fails and internal errors go unchecked, enabling LMS (Leighton-Micali Signature) forgery in a fault scenario. Specifically, unchecked return values in mbedtls_lms_verify allow an attacker (who can induce a hardware hash accelerator fault) to bypass LMS signature verification by reusing stale stack data, resulting in acceptance of an invalid signature. In mbedtls_lms_verify, the return values of the internal Merkle tree functions create_merkle_leaf_value and create_merkle_internal_value are not checked. These functions return an integer that indicates whether the call succeeded or not. If a failure occurs, the output buffer (Tc_candidate_root_node) may remain uninitialized, and the result of the signature verification is unpredictable. When the software implementation of SHA-256 is used, these functions will not fail. However, with hardware-accelerated hashing, an attacker could use fault injection against the accelerator to bypass verification.
- Record
UBUNTU-CVE-2025-49600- CVSS 3.1
- 4.9 Medium
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21144-1 No score
Security update for mbedtls
This update for mbedtls fixes the following issues:
Changes in mbedtls:
- Update to 3.6.6 (LTS maintenance update from 3.6.1); security fixes
accumulated across the 3.6.2-3.6.6 releases:
- CVE-2024-49195 (boo#1231708): buffer underrun in pkwrite when writing an opaque key pair
- CVE-2025-27809 (boo#1240051): certificate verification accepted arbitrary hostnames
- CVE-2025-27810 (boo#1240052): possible authentication bypass on failed memory allocation / hardware errors
- CVE-2025-47917 (boo#1246783): misleading memory management in mbedtls_x509_string_to_names()
- CVE-2025-48965 (boo#1246784): NULL pointer dereference after mbedtls_asn1_store_named_data()
- CVE-2025-49087 (boo#1246973): timing side channel in PKCS#7 padding removal
- CVE-2025-49600 (boo#1245808): unchecked return values in LMS verification allow signature bypass via fault injection
- CVE-2025-49601 (boo#1245809): out-of-bounds read in mbedtls_lms_import_public_key()
- CVE-2025-52496 (boo#1245810): race in AES-NI support detection can lead to AES key extraction or GCM forgery
- CVE-2025-52497 (boo#1245811): one-byte heap underflow when parsing PEM-encrypted material
- CVE-2025-54764 (boo#1252341): timing attacks in RSA operations
- CVE-2025-59438 (boo#1252454): padding-oracle attack via timing of cipher error reporting
- CVE-2026-25833: PSA RNG state duplicated across fork()
- CVE-2026-25834: TLS 1.3 HelloRetryRequest man-in-the-middle session-resumption downgrade
- CVE-2026-25835: RNG state duplicated when application/VM state is cloned
- Record
openSUSE-SU-2026:21144-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mbedtlsAlpine:v3.20 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtlsAlpine:v3.21 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtlsAlpine:v3.22 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtlsAlpine:v3.23 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtlsAlpine:v3.24 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtls3Alpine:v3.24 |
before 3.6.4-r0 | 3.6.4-r0 |
mbedtlsDebian:13 |
before 3.6.4-1 | 3.6.4-1 |
mbedtlsDebian:14 |
before 3.6.4-1 | 3.6.4-1 |
mbedtlsUbuntu:25.10 |
All versions, plus listed versions 3.6.2-3ubuntu1 |
None known |
mbedtlsUbuntu:26.04:LTS |
All versions, plus listed versions 3.6.2-3ubuntu13.6.5-0.1ubuntu13.6.5-0.1ubuntu2 |
None known |
mbedtlsopenSUSE:Leap 16.0 |
before 3.6.6-bp160.1.1 | 3.6.6-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-49600 is a medium vulnerability (CVSS 4.9) in Mbed Mbedtls, published July 4, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.16%, the 5th percentile. Fixed in mbedtls 3.6.4-r0.
References
github.com/Mbed-TLS/mbedtls-docs/blob/main/security-advisories/mbedtls-security-advisory-2025-06-3.md
nvd.nist.gov/vuln/detail/CVE-2025-49600
github.com/advisories/GHSA-r3gf-c2cf-vp8q
security.alpinelinux.org/vuln/CVE-2025-49600
github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49600.json
security-tracker.debian.org/tracker/CVE-2025-49600
Show 29 moreShow less
ubuntu.com/security/CVE-2025-49600
cve.org/CVERecord?id=CVE-2025-49600
bugzilla.suse.com/1231708
bugzilla.suse.com/1240051
bugzilla.suse.com/1240052
bugzilla.suse.com/1245808
bugzilla.suse.com/1245809
bugzilla.suse.com/1245810
bugzilla.suse.com/1245811
bugzilla.suse.com/1246783
bugzilla.suse.com/1246784
bugzilla.suse.com/1246973
bugzilla.suse.com/1252341
bugzilla.suse.com/1252454
suse.com/security/cve/CVE-2024-49195
suse.com/security/cve/CVE-2025-27809
suse.com/security/cve/CVE-2025-27810
suse.com/security/cve/CVE-2025-47917
suse.com/security/cve/CVE-2025-48965
suse.com/security/cve/CVE-2025-49087
suse.com/security/cve/CVE-2025-49600
suse.com/security/cve/CVE-2025-49601
suse.com/security/cve/CVE-2025-52496
suse.com/security/cve/CVE-2025-52497
suse.com/security/cve/CVE-2025-54764
suse.com/security/cve/CVE-2025-59438
suse.com/security/cve/CVE-2026-25833
suse.com/security/cve/CVE-2026-25834
suse.com/security/cve/CVE-2026-25835