Out-of-bounds Read Affecting yubico/yubico-piv-tool package, versions [,1.6.0)


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.12% (47th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-UNMANAGED-YUBICOYUBICOPIVTOOL-2366313
  • published26 Jan 2022
  • disclosed15 Aug 2018
  • creditUnknown

Introduced: 15 Aug 2018

CVE-2018-14780  (opens in a new tab)
CWE-125  (opens in a new tab)

How to fix?

Upgrade yubico/yubico-piv-tool to version 1.6.0 or higher.

Overview

Affected versions of this package are vulnerable to Out-of-bounds Read. 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.

References

CVSS Scores

version 3.1