Out-of-Bounds Affecting yubico-piv-tool package, versions <1.0.3-1ubuntu0.1~esm1


Severity

Recommended
high

Based on Ubuntu security rating.

Threat Intelligence

EPSS
0.49% (42nd 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-UBUNTU1604-YUBICOPIVTOOL-548284
  • published15 Aug 2018
  • disclosed15 Aug 2018

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 Ubuntu:16.04 yubico-piv-tool to version 1.0.3-1ubuntu0.1~esm1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream yubico-piv-tool package and not the yubico-piv-tool package as distributed by Ubuntu. See How to fix? for Ubuntu:16.04 relevant fixed versions and status.

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.