CVE-2021-3712

Publication date 24 August 2021

Last updated 24 July 2024


Ubuntu priority

Cvss 3 Severity Score

7.4 · High

Score breakdown

ASN.1 strings are represented internally within OpenSSL as an ASN1_STRING structure which contains a buffer holding the string data and a field holding the buffer length. This contrasts with normal C strings which are repesented as a buffer for the string data which is terminated with a NUL (0) byte. Although not a strict requirement, ASN.1 strings that are parsed using OpenSSL's own "d2i" functions (and other similar parsing functions) as well as any string whose value has been set with the ASN1_STRING_set() function will additionally NUL terminate the byte array in the ASN1_STRING structure. However, it is possible for applications to directly construct valid ASN1_STRING structures which do not NUL terminate the byte array by directly setting the "data" and "length" fields in the ASN1_STRING array. This can also happen by using the ASN1_STRING_set0() function. Numerous OpenSSL functions that print ASN.1 data have been found to assume that the ASN1_STRING byte array will be NUL terminated, even though this is not guaranteed for strings that have been directly constructed. Where an application requests an ASN.1 structure to be printed, and where that ASN.1 structure contains ASN1_STRINGs that have been directly constructed by the application without NUL terminating the "data" field, then a read buffer overrun can occur. The same thing can also occur during name constraints processing of certificates (for example if a certificate has been directly constructed by the application instead of loading it via the OpenSSL parsing functions, and the certificate contains non NUL terminated ASN1_STRING structures). It can also occur in the X509_get1_email(), X509_REQ_get1_email() and X509_get1_ocsp() functions. If a malicious actor can cause an application to directly construct an ASN1_STRING and then process it through one of the affected OpenSSL functions then this issue could be hit. This might result in a crash (causing a Denial of Service attack). It could also result in the disclosure of private memory contents (such as private keys, or sensitive plaintext). Fixed in OpenSSL 1.1.1l (Affected 1.1.1-1.1.1k). Fixed in OpenSSL 1.0.2za (Affected 1.0.2-1.0.2y).

Read the notes from the security team

Status

Package Ubuntu Release Status
edk2 24.10 oracular
Not affected
24.04 LTS noble
Not affected
23.10 mantic
Not affected
23.04 lunar
Not affected
22.10 kinetic
Not affected
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored end of life
21.04 hirsute
Fixed 2020.11-4ubuntu0.1
20.04 LTS focal
Fixed 0~20191122.bd85bf54-2ubuntu3.3
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Not in release
nodejs 24.10 oracular
Not affected
24.04 LTS noble
Not affected
23.10 mantic
Not affected
23.04 lunar
Not affected
22.10 kinetic
Not affected
22.04 LTS jammy
Not affected
21.10 impish
Not affected
21.04 hirsute
Not affected
20.04 LTS focal
Not affected
18.04 LTS bionic
Not affected
16.04 LTS xenial
Not affected
14.04 LTS trusty
Not affected
openssl 24.10 oracular
Fixed 1.1.1l-1ubuntu1
24.04 LTS noble
Fixed 1.1.1l-1ubuntu1
23.10 mantic
Fixed 1.1.1l-1ubuntu1
23.04 lunar
Fixed 1.1.1l-1ubuntu1
22.10 kinetic
Fixed 1.1.1l-1ubuntu1
22.04 LTS jammy
Fixed 1.1.1l-1ubuntu1
21.10 impish
Fixed 1.1.1l-1ubuntu1
21.04 hirsute
Fixed 1.1.1j-1ubuntu3.5
20.04 LTS focal
Fixed 1.1.1f-1ubuntu2.8
18.04 LTS bionic
Fixed 1.1.1-1ubuntu2.1~18.04.13
16.04 LTS xenial
14.04 LTS trusty
openssl1.0 24.10 oracular Not in release
24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.04 LTS focal Not in release
18.04 LTS bionic
Fixed 1.0.2n-1ubuntu5.7
16.04 LTS xenial Not in release
14.04 LTS trusty Not in release

Get expanded security coverage with Ubuntu Pro

Reduce your average CVE exposure time from 98 days to 1 day with expanded CVE patching, ten-years security maintenance and optional support for the full stack of open-source applications. Free for personal use.

Get Ubuntu Pro

Notes


mdeslaur

in 1.0.2, this bug is in X509_CERT_AUX_print() list of commits below is incomplete

Patch details

For informational purposes only. We recommend not to cherry-pick updates. How can I get the fixes?

Package Patch details
openssl

Severity score breakdown

Parameter Value
Base score 7.4 · High
Attack vector Network
Attack complexity High
Privileges required None
User interaction None
Scope Unchanged
Confidentiality High
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H

References

Related Ubuntu Security Notices (USN)

Other references