OpenSC: `sc_compacttlv_find_tag` can return out-of-bounds pointers (OpenSC OpenSC)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.29 % · percentile 22 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Analyzed
Description
OpenSC is an open source smart card tools and middleware. Prior to version 0.27.0, sc_compacttlv_find_tag searches a compact-TLV buffer for a given tag. In compact-TLV, a single byte encodes the tag (high nibble) and value length (low nibble). With a 1-byte buffer {0x0A}, the encoded element claims tag=0 and length=10 but no value bytes follow. Calling sc_compacttlv_find_tag with search tag 0x00 returns a pointer equal to buf+1 and outlen=10 without verifying that the claimed value length fits within the remaining buffer. In cases where the sc_compacttlv_find_tag is provided untrusted data (such as being read from cards/files), attackers may be able to influence it to return out-of-bounds pointers leading to downstream memory corruption when subsequent code tries to dereference the pointer. This issue has been patched in version 0.27.0.
Weaknesses (CWE)
- CWE-126 — Buffer Over-read
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | LOW 3.9 | CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L | GitHub_M |
| CVSS 3.1 | LOW 3.9 | CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | MEDIUM 6.8 | CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2025-209127
- GCVE · GCVE-0-2025-66038
CERT-FR advisories
- CERTFR-2026-AVI-0414 — Multiples vulnérabilités dans les produits Microsoft · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:opensc_project:opensc:*:*:*:*:*:*:*:*< 0.27.0
Affected products
| Product | Versions |
|---|---|
| OpenSC · OpenSC | affected < 0.27.0 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |