Your submission was sent successfully! Close

CVE-2018-14780

Published: 15 August 2018

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.

From the Ubuntu security team

It was discovered that libykpiv, a supporting library of the Yubico PIV tool and YubiKey PIV Manager, mishandled specially crafted input. An attacker with a custom-made, malicious USB device could potentially execute arbitrary code on a computer running the Yubico PIV Tool or Yubikey PIV Manager.

Priority

High

CVSS 3 base score: 4.6

Status

Package Release Status
yubico-piv-tool
Launchpad, Ubuntu, Debian
bionic
Released (1.4.2-2ubuntu0.1)
cosmic Ignored
(reached end-of-life)
disco Ignored
(reached end-of-life)
eoan Not vulnerable
(1.7.0-1)
focal Not vulnerable
(1.7.0-1)
groovy Not vulnerable
(1.7.0-1)
hirsute Not vulnerable
(1.7.0-1)
impish Not vulnerable
(1.7.0-1)
jammy Not vulnerable
(1.7.0-1)
precise Does not exist

trusty Does not exist

upstream
Released (1.6.1-1)
xenial Ignored
(end of standard support, was needed)