A buffer overflow 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_transfer_data()`: {% highlight c %} if(*out_len + recv_len - 2 > max_out) { fprintf(stderr, "Output buffer to small, wanted to write %lu, max was %lu.", *out_len + recv_len - 2, max_out); } if(out_data) { memcpy(out_data, data, recv_len - 2); out_data += recv_len - 2; *out_len += recv_len - 2; } {% endhighlight %} -- it is clearly checked whether the buffer is big enough to hold the data copied using `memcpy()`, but no error handling happens to avoid the `memcpy()` in such cases. This code path can be triggered with malicious data coming from a smartcard.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade yubico-piv-tool | Jul 30, 2024 | Aug 15, 2018 |
| Suse | — | Upgrade libykcs11-1Upgrade libykpiv-develUpgrade libykcs11-develUpgrade libykpiv1Upgrade yubico-piv-tool | Sep 6, 2018 | Aug 15, 2018 |
| Ubuntu | — | Upgrade ykcs11Upgrade yubico-piv-toolUpgrade libykpiv1Upgrade libykpiv1 (Ubuntu Pro) | 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