SB2019012415 - Multiple vulnerabilities in OpenSC
Published: January 24, 2019 Updated: December 30, 2019
Breakdown by Severity
- Low
- Medium
- High
- Critical
Description
This security bulletin contains information about 6 secuirty vulnerabilities.
1) Memory leak (CVE-ID: CVE-2019-6502)
The vulnerability allows a local user to perform DoS attack on the target system.
The vulnerability exists due memory leak in sc_context_create in ctx.c in libopensc. A local user can trigger memory leak and perform denial of service attack.
2) Out-of-bounds read (CVE-ID: CVE-2019-15946)
The vulnerability allows a local user to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition when processing ASN.1 Octet string within the asn1_decode_entry() function in libopensc/asn1.c. A local user can supply specially crafted data to the application, trigger out-of-bounds read error and read contents of memory on the system.
3) Out-of-bounds read (CVE-ID: CVE-2019-15945)
The vulnerability allows a local user to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition when processing ASN.1 Bitstring within the decode_bit_string() function in libopensc/asn1.c. A local user can pass specially crafted data to the application, trigger out-of-bounds read error and read contents of memory on the system.
4) Use-after-free (CVE-ID: CVE-2019-19480)
The vulnerability allows a local user to compromise vulnerable system.
The vulnerability exists due to a use-after-free error within the sc_pkcs15_decode_prkdf_entry() function in libopensc/pkcs15-prkey.c. A local user can pass specially crafted data to the application, trigger a use-after-free error and execute arbitrary code on the system.
Successful exploitation of the vulnerability may allow an attacker to compromise vulnerable system.
5) Buffer overflow (CVE-ID: CVE-2019-19481)
The vulnerability allows a local user to execute arbitrary code on the target system.
The vulnerability exists due to a boundary error when processing CAC certificates in libopensc/card-cac1.c. A local user can pass specially crafted certificate to the application, trigger memory corruption and execute arbitrary code on the target system.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
6) Out-of-bounds read (CVE-ID: CVE-2019-19479)
The vulnerability allows a local user to gain access to potentially sensitive information.
The vulnerability exists due to a boundary condition when parsing SETCOS file attribute in libopensc/card-setcos.c. A local user can pass specially crafted file to the application, trigger out-of-bounds read error and read contents of memory on the system.
Remediation
Install update from vendor's website.
References
- https://github.com/OpenSC/OpenSC/issues/1586
- https://github.com/OpenSC/OpenSC/releases/tag/0.20.0
- https://github.com/OpenSC/OpenSC/commit/a3fc7693f3a035a8a7921cffb98432944bb42740
- https://github.com/OpenSC/OpenSC/compare/f1691fc...12218d4
- https://lists.debian.org/debian-lts-announce/2019/09/msg00009.html
- https://github.com/OpenSC/OpenSC/commit/412a6142c27a5973c61ba540e33cdc22d5608e68
- http://www.openwall.com/lists/oss-security/2019/12/29/1
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18478
- https://github.com/OpenSC/OpenSC/commit/6ce6152284c47ba9b1d4fe8ff9d2e6a3f5ee02c7
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18618
- https://github.com/OpenSC/OpenSC/commit/b75c002cfb1fd61cd20ec938ff4937d7b1a94278
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18693
- https://bugzilla.redhat.com/show_bug.cgi?id=1782521
- https://github.com/OpenSC/OpenSC/commit/c3f23b836e5a1766c36617fe1da30d22f7b63de2
- https://lists.debian.org/debian-lts-announce/2019/12/msg00031.html