Skip to content
Not rated

CVE-2021-3712 ASN.1 strings are represented internally within OpenSSL as an ASN1_STRING structure which contains a buffer holding…

Description

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).

Affected products and versions

Product Affected versions Fixed in
OpenSSL Versions not published
BFCClient 2.17 earliest → < 2.17 2.17
Industrial Edge - Machine Insight App Versions not published
Industrial Edge - PROFINET IO Connector Versions not published
RUGGEDCOM RM1224 LTE(4G) EU Versions not published
RUGGEDCOM RM1224 LTE(4G) NAM Versions not published
RUGGEDCOM ROX MX5000 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX MX5000RE 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1400 2.15 earliest → < 2.15.0 2.15.0
Show the 201 other branches
Product Affected versions Fixed in
RUGGEDCOM ROX RX1500 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1501 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1510 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1511 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1512 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1524 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX1536 2.15 earliest → < 2.15.0 2.15.0
RUGGEDCOM ROX RX5000 2.15 earliest → < 2.15.0 2.15.0
SCALANCE M804PB Versions not published
SCALANCE M812-1 ADSL-Router Versions not published
SCALANCE M816-1 ADSL-Router Versions not published
SCALANCE M826-2 SHDSL-Router Versions not published
SCALANCE M874-2 Versions not published
SCALANCE M874-3 Versions not published
SCALANCE M876-3 Versions not published
SCALANCE M876-3 (ROK) Versions not published
SCALANCE M876-4 (EU) Versions not published
SCALANCE M876-4 (NAM) Versions not published
SCALANCE MUM853-1 (EU) 7.1 earliest → < 7.1 7.1
SCALANCE MUM856-1 (EU) 7.1 earliest → < 7.1 7.1
SCALANCE MUM856-1 (RoW) 7.1 earliest → < 7.1 7.1
SCALANCE S615 LAN-Router Versions not published
SCALANCE SC622-2C Versions not published
SCALANCE SC632-2C Versions not published
SCALANCE SC636-2C Versions not published
SCALANCE SC642-2C Versions not published
SCALANCE SC646-2C Versions not published
SCALANCE W1748-1 M12 3.0 earliest → < 3.0.0 3.0.0
SCALANCE W1788-1 M12 3.0 earliest → < 3.0.0 3.0.0
SCALANCE W1788-2 EEC M12 3.0 earliest → < 3.0.0 3.0.0
SCALANCE W1788-2 M12 3.0 earliest → < 3.0.0 3.0.0
SCALANCE W1788-2IA M12 3.0 earliest → < 3.0.0 3.0.0
SCALANCE W721-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W722-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W734-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W734-1 RJ45 (USA) 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W738-1 M12 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W748-1 M12 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W748-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W761-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W774-1 M12 EEC 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W774-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W774-1 RJ45 (USA) 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W778-1 M12 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W778-1 M12 EEC 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W778-1 M12 EEC (USA) 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W786-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W786-2 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W786-2 SFP 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W786-2IA RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W788-1 M12 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W788-1 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W788-2 M12 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W788-2 M12 EEC 6.6 earliest → < 6.6.0 6.6.0
SCALANCE W788-2 RJ45 6.6 earliest → < 6.6.0 6.6.0
SCALANCE WAM766-1 1.2 earliest → < 1.2.0 1.2.0
SCALANCE WAM766-1 (US) 1.2 earliest → < 1.2.0 1.2.0
SCALANCE WAM766-1 EEC 1.2 earliest → < 1.2.0 1.2.0
SCALANCE WAM766-1 EEC (US) 1.2 earliest → < 1.2.0 1.2.0
SCALANCE WUM766-1 1.2 earliest → < 1.2.0 1.2.0
SCALANCE WUM766-1 (USA) 1.2 earliest → < 1.2.0 1.2.0
SCALANCE X200-4P IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X201-3P IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X201-3P IRT PRO 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X202-2IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X202-2P IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X202-2P IRT PRO 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X204-2 Versions not published
SCALANCE X204-2FM Versions not published
SCALANCE X204-2LD Versions not published
SCALANCE X204-2LD TS Versions not published
SCALANCE X204-2TS Versions not published
SCALANCE X204IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X204IRT PRO 5.5 earliest → < 5.5.2 5.5.2
SCALANCE X206-1 Versions not published
SCALANCE X206-1LD Versions not published
SCALANCE X208 Versions not published
SCALANCE X208PRO Versions not published
SCALANCE X212-2 Versions not published
SCALANCE X212-2LD Versions not published
SCALANCE X216 Versions not published
SCALANCE X224 Versions not published
SCALANCE X302-7 EEC (230V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (230V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (24V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (24V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (2x 230V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (2x 230V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (2x 24V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X302-7 EEC (2x 24V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X304-2FE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X306-1LD FE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (230V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (230V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (24V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (24V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (2x 230V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (2x 230V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (2x 24V, coated) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-2 EEC (2x 24V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-3 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X307-3LD 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2LD 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2LH 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2LH+ 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2M 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2M PoE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X308-2M TS 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X310 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X310FE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X320-1 FE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X320-1-2LD FE 4.1 earliest → < 4.1.4 4.1.4
SCALANCE X408-2 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XF201-3P IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE XF202-2P IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE XF204 Versions not published
SCALANCE XF204-2 Versions not published
SCALANCE XF204-2BA IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE XF204IRT 5.5 earliest → < 5.5.2 5.5.2
SCALANCE XF206-1 Versions not published
SCALANCE XF208 Versions not published
SCALANCE XR324-12M (230V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-12M (230V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-12M (24V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-12M (24V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-12M TS (24V) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (100-240VAC/60-250VDC, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (100-240VAC/60-250VDC, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (24V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (24V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (2x 100-240VAC/60-250VDC, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (2x 100-240VAC/60-250VDC, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (2x 24V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M EEC (2x 24V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M PoE (230V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M PoE (230V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M PoE (24V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M PoE (24V, ports on rear) 4.1 earliest → < 4.1.4 4.1.4
SCALANCE XR324-4M PoE TS (24V, ports on front) 4.1 earliest → < 4.1.4 4.1.4
SIMATIC CP 1242-7 V2 Versions not published
SIMATIC CP 1243-1 Versions not published
SIMATIC CP 1243-7 LTE EU Versions not published
SIMATIC CP 1243-7 LTE US Versions not published
SIMATIC CP 1243-8 IRC Versions not published
SIMATIC CP 1542SP-1 2.2 earliest → < 2.2.28 2.2.28
SIMATIC CP 1543-1 Versions not published
SIMATIC CP 1543SP-1 2.2 earliest → < 2.2.28 2.2.28
SIMATIC CP 1545-1 Versions not published
SIMATIC PCS neo (Administration Console) 3.1 earliest → < 3.1.1 3.1.1
SIMATIC Process Historian OPC UA Server Versions not published
SIMATIC S7-1200 CPU 1211C AC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1211C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1211C DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1212C AC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1212C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1212C DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1212FC DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1212FC DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1214C AC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1214C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1214C DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1214FC DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1214FC DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1215C AC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1215C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1215C DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1215FC DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1215FC DC/DC/Rly 4.5 earliest → < 4.5.2 4.5.2
SIMATIC S7-1200 CPU 1217C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SINEC NMS Versions not published
SINEMA Remote Connect Server 3.1 earliest → < 3.1 3.1
SINEMA Server V14 Versions not published
SINUMERIK Operate Versions not published
SIPLUS ET 200SP CP 1543SP-1 ISEC 2.2 earliest → < 2.2.28 2.2.28
SIPLUS ET 200SP CP 1543SP-1 ISEC TX RAIL 2.2 earliest → < 2.2.28 2.2.28
SIPLUS NET CP 1242-7 V2 Versions not published
SIPLUS NET CP 1543-1 Versions not published
SIPLUS NET SCALANCE X308-2 4.1 earliest → < 4.1.4 4.1.4
SIPLUS S7-1200 CP 1243-1 Versions not published
SIPLUS S7-1200 CP 1243-1 RAIL Versions not published
SIPLUS S7-1200 CPU 1212 AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1212 DC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1212C AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1212C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1212C DC/DC/DC RAIL 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214 AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214 DC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214C AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214C DC/DC/DC RAIL 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214C DC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214FC DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1214FC DC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215 AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215 DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215 DC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215C AC/DC/RLY 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215C DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
SIPLUS S7-1200 CPU 1215FC DC/DC/DC 4.5 earliest → < 4.5.2 4.5.2
TIA Administrator 1.0 earliest → < 1.0.7 1.0.7
The 141 CVEs of OpenSSL →
Track this CVE