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.
| 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 libykcs11-1Upgrade libykpiv1Upgrade libykcs11-devel | Sep 6, 2018 | Aug 15, 2018 |
| Ubuntu | — | Upgrade ykcs11Upgrade libykpiv1 (Ubuntu Pro)Upgrade yubico-piv-toolUpgrade libykpiv1 | Feb 12, 2020 | Aug 15, 2018 |
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