Description
The leancrypto library is a cryptographic library that exclusively contains only PQC-resistant cryptographic algorithms. Prior to version 1.7.1, lc_x509_extract_name_segment() casts size_t vlen to uint8_t when storing the Common Name (CN) length. An attacker who crafts a certificate with CN = victim's CN + 256 bytes padding gets cn_size = (uint8_t)(256 + N) = N, where N is the victim's CN length. The first N bytes of the attacker's CN are the victim's identity. After parsing, the attacker's certificate has an identical CN to the victim's — enabling identity impersonation in PKCS#7 verification, certificate chain matching, and code signing. This issue has been patched in version 1.7.1.
Affected products
leancrypto: leancrypto
References3
- github.com/smuellerDD/leancrypto/security/advisories/GHSA-636g-… Vendor Advisory
- github.com/smuellerDD/leancrypto/commit/5cdcbe12bd6c3d6e87e9699… Patch
- github.com/smuellerDD/leancrypto/releases/tag/v1.7.1 ProductRelease Notes
Metrics
- CVSS 3.1
-
5.9
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - EPSS — exploit probability
- 0% percentile: 6 · as of 12 November 2026
- CWE
- CWE-681
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.