An out-of-bounds read issue was discovered in the Yubico-Piv 1.5.0 smartcard driver. The file lib/ykpiv.c contains the following code in the function `_ykpiv_fetch_object()`: {% highlight c %} if(sw == SW_SUCCESS) { size_t outlen; int offs = _ykpiv_get_length(data + 1, &outlen); if(offs == 0) { return YKPIV_SIZE_ERROR; } memmove(data, data + 1 + offs, outlen); *len = outlen; return YKPIV_OK; } else { return YKPIV_GENERIC_ERROR; } {% endhighlight %} -- in the end, a `memmove()` occurs with a length retrieved from APDU data. This length is not checked for whether it is outside of the APDU data retrieved. Therefore the `memmove()` could copy bytes behind the allocated data buffer into this buffer.
CVSS Details
- CVSS 3.1 Base Score: 4.6
- CVSS 3.0 Vector: (CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade yubico-piv-tool | Jul 30, 2024 | Aug 15, 2018 |
| Suse | — | Upgrade yubico-piv-toolUpgrade libykpiv-develUpgrade libykpiv1Upgrade libykcs11-develUpgrade libykcs11-1 | Sep 6, 2018 | Aug 15, 2018 |
| Ubuntu | — | Upgrade yubico-piv-toolUpgrade ykcs11Upgrade libykpiv1 (Ubuntu Pro)Upgrade libykpiv1 | Feb 12, 2020 | Aug 15, 2018 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub