Out-of-Bounds 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.16% (53rd 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-2366314
  • published26 Jan 2022
  • disclosed15 Aug 2018
  • creditUnknown

Introduced: 15 Aug 2018

CVE-2018-14779  (opens in a new tab)
CWE-119  (opens in a new tab)
CWE-787  (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. 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.

References

CVSS Scores

version 3.1