ubuntu-cve-2021-23841
Vulnerability from osv_ubuntu
The OpenSSL public API function X509_issuer_and_serial_hash() attempts to create a unique hash value based on the issuer and serial number data contained within an X509 certificate. However it fails to correctly handle any errors that may occur while parsing the issuer field (which might occur if the issuer field is maliciously constructed). This may subsequently result in a NULL pointer deref and a crash leading to a potential denial of service attack. The function X509_issuer_and_serial_hash() is never directly called by OpenSSL itself so applications are only vulnerable if they use this function directly and they use it on certificates that may have been obtained from untrusted sources. OpenSSL versions 1.1.1i and below are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1j. OpenSSL versions 1.0.2x and below are affected by this issue. However OpenSSL 1.0.2 is out of support and no longer receiving public updates. Premium support customers of OpenSSL 1.0.2 should upgrade to 1.0.2y. Other users should upgrade to 1.1.1j. Fixed in OpenSSL 1.1.1j (Affected 1.1.1-1.1.1i). Fixed in OpenSSL 1.0.2y (Affected 1.0.2-1.0.2x).
{
"affected": [
{
"ecosystem_specific": {
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "libssl1.0.0",
"binary_version": "1.0.1f-1ubuntu2.27+esm2"
},
{
"binary_name": "openssl",
"binary_version": "1.0.1f-1ubuntu2.27+esm2"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:14.04:LTS",
"name": "openssl",
"purl": "pkg:deb/ubuntu/openssl@1.0.1f-1ubuntu2.27+esm2?arch=source\u0026distro=trusty/esm"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.0.1f-1ubuntu2.27+esm2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0.1e-3ubuntu1",
"1.0.1e-4ubuntu1",
"1.0.1e-4ubuntu2",
"1.0.1e-4ubuntu3",
"1.0.1e-4ubuntu4",
"1.0.1f-1ubuntu1",
"1.0.1f-1ubuntu2",
"1.0.1f-1ubuntu2.1",
"1.0.1f-1ubuntu2.2",
"1.0.1f-1ubuntu2.3",
"1.0.1f-1ubuntu2.4",
"1.0.1f-1ubuntu2.5",
"1.0.1f-1ubuntu2.7",
"1.0.1f-1ubuntu2.8",
"1.0.1f-1ubuntu2.11",
"1.0.1f-1ubuntu2.12",
"1.0.1f-1ubuntu2.15",
"1.0.1f-1ubuntu2.16",
"1.0.1f-1ubuntu2.17",
"1.0.1f-1ubuntu2.18",
"1.0.1f-1ubuntu2.19",
"1.0.1f-1ubuntu2.20",
"1.0.1f-1ubuntu2.21",
"1.0.1f-1ubuntu2.22",
"1.0.1f-1ubuntu2.23",
"1.0.1f-1ubuntu2.24",
"1.0.1f-1ubuntu2.25",
"1.0.1f-1ubuntu2.26",
"1.0.1f-1ubuntu2.27",
"1.0.1f-1ubuntu2.27+esm1"
]
},
{
"ecosystem_specific": {
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libssl1.0.0",
"binary_version": "1.0.2g-1ubuntu4.19"
},
{
"binary_name": "openssl",
"binary_version": "1.0.2g-1ubuntu4.19"
}
]
},
"package": {
"ecosystem": "Ubuntu:16.04:LTS",
"name": "openssl",
"purl": "pkg:deb/ubuntu/openssl@1.0.2g-1ubuntu4.19?arch=source\u0026distro=xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.0.2g-1ubuntu4.19"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0.2d-0ubuntu1",
"1.0.2d-0ubuntu2",
"1.0.2e-1ubuntu1",
"1.0.2f-2ubuntu1",
"1.0.2g-1ubuntu2",
"1.0.2g-1ubuntu3",
"1.0.2g-1ubuntu4",
"1.0.2g-1ubuntu4.1",
"1.0.2g-1ubuntu4.2",
"1.0.2g-1ubuntu4.4",
"1.0.2g-1ubuntu4.5",
"1.0.2g-1ubuntu4.6",
"1.0.2g-1ubuntu4.8",
"1.0.2g-1ubuntu4.9",
"1.0.2g-1ubuntu4.10",
"1.0.2g-1ubuntu4.11",
"1.0.2g-1ubuntu4.12",
"1.0.2g-1ubuntu4.13",
"1.0.2g-1ubuntu4.14",
"1.0.2g-1ubuntu4.15",
"1.0.2g-1ubuntu4.16",
"1.0.2g-1ubuntu4.17",
"1.0.2g-1ubuntu4.18"
]
},
{
"ecosystem_specific": {
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libssl1.1",
"binary_version": "1.1.1-1ubuntu2.1~18.04.8"
},
{
"binary_name": "openssl",
"binary_version": "1.1.1-1ubuntu2.1~18.04.8"
}
]
},
"package": {
"ecosystem": "Ubuntu:18.04:LTS",
"name": "openssl",
"purl": "pkg:deb/ubuntu/openssl@1.1.1-1ubuntu2.1~18.04.8?arch=source\u0026distro=bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.1.1-1ubuntu2.1~18.04.8"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0.2g-1ubuntu13",
"1.0.2g-1ubuntu14",
"1.0.2n-1ubuntu1",
"1.1.0g-2ubuntu1",
"1.1.0g-2ubuntu2",
"1.1.0g-2ubuntu3",
"1.1.0g-2ubuntu4",
"1.1.0g-2ubuntu4.1",
"1.1.0g-2ubuntu4.3",
"1.1.1-1ubuntu2.1~18.04.1",
"1.1.1-1ubuntu2.1~18.04.2",
"1.1.1-1ubuntu2.1~18.04.3",
"1.1.1-1ubuntu2.1~18.04.4",
"1.1.1-1ubuntu2.1~18.04.5",
"1.1.1-1ubuntu2.1~18.04.6",
"1.1.1-1ubuntu2.1~18.04.7"
]
},
{
"ecosystem_specific": {
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libssl1.0.0",
"binary_version": "1.0.2n-1ubuntu5.6"
},
{
"binary_name": "openssl1.0",
"binary_version": "1.0.2n-1ubuntu5.6"
}
]
},
"package": {
"ecosystem": "Ubuntu:18.04:LTS",
"name": "openssl1.0",
"purl": "pkg:deb/ubuntu/openssl1.0@1.0.2n-1ubuntu5.6?arch=source\u0026distro=bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.0.2n-1ubuntu5.6"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0.2n-1ubuntu2",
"1.0.2n-1ubuntu3",
"1.0.2n-1ubuntu4",
"1.0.2n-1ubuntu5",
"1.0.2n-1ubuntu5.1",
"1.0.2n-1ubuntu5.2",
"1.0.2n-1ubuntu5.3",
"1.0.2n-1ubuntu5.4",
"1.0.2n-1ubuntu5.5"
]
},
{
"ecosystem_specific": {
"availability": "No subscription required",
"binaries": [
{
"binary_name": "libssl1.1",
"binary_version": "1.1.1f-1ubuntu2.2"
},
{
"binary_name": "openssl",
"binary_version": "1.1.1f-1ubuntu2.2"
}
]
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "openssl",
"purl": "pkg:deb/ubuntu/openssl@1.1.1f-1ubuntu2.2?arch=source\u0026distro=focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.1.1f-1ubuntu2.2"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.1.1c-1ubuntu4",
"1.1.1d-2ubuntu3",
"1.1.1d-2ubuntu6",
"1.1.1f-1ubuntu1",
"1.1.1f-1ubuntu2",
"1.1.1f-1ubuntu2.1"
]
}
],
"aliases": [],
"details": "The OpenSSL public API function X509_issuer_and_serial_hash() attempts to create a unique hash value based on the issuer and serial number data contained within an X509 certificate. However it fails to correctly handle any errors that may occur while parsing the issuer field (which might occur if the issuer field is maliciously constructed). This may subsequently result in a NULL pointer deref and a crash leading to a potential denial of service attack. The function X509_issuer_and_serial_hash() is never directly called by OpenSSL itself so applications are only vulnerable if they use this function directly and they use it on certificates that may have been obtained from untrusted sources. OpenSSL versions 1.1.1i and below are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1j. OpenSSL versions 1.0.2x and below are affected by this issue. However OpenSSL 1.0.2 is out of support and no longer receiving public updates. Premium support customers of OpenSSL 1.0.2 should upgrade to 1.0.2y. Other users should upgrade to 1.1.1j. Fixed in OpenSSL 1.1.1j (Affected 1.1.1-1.1.1i). Fixed in OpenSSL 1.0.2y (Affected 1.0.2-1.0.2x).",
"id": "UBUNTU-CVE-2021-23841",
"modified": "2026-04-22T07:39:56Z",
"published": "2021-02-16T17:15:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2021-23841"
},
{
"type": "REPORT",
"url": "https://www.openssl.org/news/secadv/20210216.txt"
},
{
"type": "ADVISORY",
"url": "https://ubuntu.com/security/notices/USN-4738-1"
},
{
"type": "ADVISORY",
"url": "https://ubuntu.com/security/notices/USN-4745-1"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2021-23841"
}
],
"related": [
"USN-4738-1",
"USN-4745-1"
],
"schema_version": "1.7.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2021-23841"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.