# CVE-2018-14780: libykpiv1: An out-of-bounds read issue was discovered in the Yubico-Piv 1.5.0 smartcard driver

CVE-2018-14780 is fixed in 3 products on 1 platform, first by libykpiv1 1.4.2-2ubuntu0.1, released August 15, 2018. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2018-14780
- Priority: High
- CVSS: n/a (High)
- EPSS: 0.0045
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Aug 15, 2018

## Description

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, &amp;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.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | libykpiv1 Ubuntu 18.04.6 LTS (bionic) | 1.4.2-2ubuntu0.1 | [libykpiv1 1.4.2-2ubuntu0.1](https://patchblox.com/security/data/fix/linux/ubuntu-bionic-libykpiv1-1.4.2-2ubuntu0.1.md) | Aug 15, 2018 |
| Linux | ykcs11 Ubuntu 18.04.6 LTS (bionic) | 1.4.2-2ubuntu0.1 | [ykcs11 1.4.2-2ubuntu0.1](https://patchblox.com/security/data/fix/linux/ubuntu-bionic-ykcs11-1.4.2-2ubuntu0.1.md) | Aug 15, 2018 |
| Linux | yubico-piv-tool Ubuntu 18.04.6 LTS (bionic) | 1.4.2-2ubuntu0.1 | [yubico-piv-tool 1.4.2-2ubuntu0.1](https://patchblox.com/security/data/fix/linux/ubuntu-bionic-yubico-piv-tool-1.4.2-2ubuntu0.1.md) | Aug 15, 2018 |

---

Data as of 2026-11-07T12:40:37Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo
