CVE-2018-14780

UnknownEPSS 0.45%

Last modified

CVE-2018-14780 is a vulnerability of currently unknown severity. 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. EPSS estimates a 0.45% chance of exploitation in the next 30 days.

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

Metrics

EPSS Probability
0.45%

35.5th percentile

Probability of exploitation in the next 30 days. Learn more

Weakness Enumeration

Affected Software

VendorProductVersions
YubicoPiv Manager< 1.4.2
YubicoPiv Manager1.4.2
YubicoPiv Manager1.4.2b
YubicoPiv Manager1.4.2c
YubicoPiv Manager1.4.2d
YubicoPiv Manager1.4.2e
YubicoPiv Manager1.4.2f
YubicoPiv Manager1.4.2g
YubicoPiv Tool< 1.6.0
YubicoSmart Card Minidriver<= 3.7.3.160

References

Timeline

Published
Last Modified
Status
Modified

Frequently Asked Questions

What is CVE-2018-14780?
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.
How severe is CVE-2018-14780?
Severity scoring for CVE-2018-14780 is pending analysis. The EPSS model estimates a 0.45% probability of exploitation in the next 30 days.
How do I fix CVE-2018-14780?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

Are you affected by CVE-2018-14780?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST