CVE-2017-10790
High · 7.5CVSS
7.5
EPSS
4.9%
Published
Jul 2, 2017
CISA due date
—
Cloudanix analysis
A programming mistake in a widely used library can let attackers send specially made data that crashes programs handling certificates or similar structured information, knocking services offline.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The _asn1_check_identifier function in GNU Libtasn1 performs a NULL pointer dereference when processing crafted ASN.1 input that forces assignment of a NULL value to an asn1_node structure, resulting in an immediate process crash.
Why it matters to the business
Applications relying on this library for ASN.1 or certificate handling can be forced offline, causing service outages and requiring restarts; the age of the flaw and available exploit code increase urgency for any remaining deployments.
How an attack unfolds
An attacker crafts malicious ASN.1 data and supplies it to a network-facing service that uses vulnerable libtasn1 for parsing; the library's _asn1_check_identifier routine dereferences a NULL pointer and crashes the process, achieving denial of service.
How to fix it
Upgrade GNU Libtasn1 to a version newer than 4.12; rebuild and redeploy all dependent applications; monitor vendor advisories for any downstream packages that embed the library.
How to confirm the fix worked
Confirm installed version exceeds 4.12; run regression tests with known trigger inputs to verify absence of crash; scan build artifacts for static linkage of older libtasn1 binaries.
Typical attack path
- Identify a target application or service that links against GNU Libtasn1 <= 4.12 and accepts ASN.1 input over the network
- Generate ASN.1 data that triggers NULL assignment inside an asn1_node structure
- Send the crafted payload to the target parser
- Observe process crash and service interruption
How to detect it
Search application and system logs for abrupt crashes or segmentation faults in processes linked to libtasn1; monitor for sudden restarts of services that parse ASN.1 data; review core dumps or stack traces containing _asn1_check_identifier.
What your security team should do
- Inventory all systems and containers that ship or link libtasn1 and prioritize upgrades
- Apply patches or rebuilds immediately given public exploit availability
- Add libtasn1 version checks to CI/CD pipelines and container scanning
- Review network-exposed services that parse ASN.1 or certificates for exposure
The record
The _asn1_check_identifier function in GNU Libtasn1 through 4.12 causes a NULL pointer dereference and crash when reading crafted input that triggers assignment of a NULL value within an asn1_node structure. It may lead to a remote denial of service attack.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.11 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.12 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.13 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.14 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.15 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.16 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.17 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.18 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.19 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.20 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.21 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.22 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.3 | libtasn1 | 0 | 4.7-r3 |
| Alpine:v3.4 | libtasn1 | 0 | 4.8-r2 |
| Alpine:v3.5 | libtasn1 | 0 | 4.9-r2 |
| Alpine:v3.6 | libtasn1 | 0 | 4.10-r2 |
| Alpine:v3.7 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.8 | libtasn1 | 0 | 4.12-r1 |
| Alpine:v3.9 | libtasn1 | 0 | 4.12-r1 |
| Debian:11 | libtasn1-6 | 0 | 4.12-2.1 |
| Debian:12 | libtasn1-6 | 0 | 4.12-2.1 |
| Debian:13 | libtasn1-6 | 0 | 4.12-2.1 |
| Debian:7 | libtasn1-3 | 0 | 2.13-2+deb7u5 |
| Debian:8 | libtasn1-6 | 0 | 4.2-3+deb8u4 |
| Debian:9 | libtasn1-6 | 0 | 4.10-1.1+deb9u1 |
| Mageia:6 | libtasn1 | 0 | 4.13-1.mga6 |
| SUSE:Enterprise Storage 4 | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | gnutls | 0 | 3.3.27-3.3.1 |
| SUSE:Linux Enterprise High Availability Extension 11 SP4 | gnutls | 0 | 2.4.1-24.39.76.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | gnutls | 0 | 3.6.2-6.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 | gnutls | 0 | 3.6.2-6.3.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server 12 SP3 | gnutls | 0 | 3.3.27-3.3.1 |
| SUSE:Linux Enterprise Server 12-LTSS | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | gnutls | 0 | 3.2.15-18.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | gnutls | 0 | 3.3.27-3.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | gnutls | 0 | 3.3.27-3.3.1 |
| SUSE:OpenStack Cloud 7 | gnutls | 0 | 3.2.15-18.6.1 |
| Ubuntu:14.04:LTS | libtasn1-6 | 0 | 3.4-3ubuntu0.6 |
| Ubuntu:16.04:LTS | libtasn1-6 | 0 | 4.7-3ubuntu0.16.04.3 |
Related vulnerabilities
- CVE-2018-1000654 GNU Libtasn1-4.13 libtasn1-4.13 version libtasn1-4.13, libtasn1-4.12 contains a DoS… Also affects libtasn1
- CVE-2017-6891 Two errors in the "asn1_find_node()" function (lib/parser_aux.c) within GnuTLS libtasn1… Also affects libtasn1
- CVE-2016-4008 The _asn1_extract_der_octet function in lib/decoding.c in GNU Libtasn1 before 4.8, when… Also affects libtasn1-6
- CVE-2015-3622 The _asn1_extract_der_octet function in lib/decoding.c in GNU Libtasn1 before 4.5 allows… Also affects libtasn1-6
- CVE-2015-2806 Stack-based buffer overflow in asn1_der_decoding in libtasn1 before 4.4 allows remote… Also affects libtasn1-6
- CVE-2014-3467 Multiple unspecified vulnerabilities in the DER decoder in GNU Libtasn1 before 3.6, as… Also affects libtasn1-6
- CVE-2016-7444 The gnutls_ocsp_resp_check_crt function in lib/x509/ocsp.c in GnuTLS before 3.4.15 and… Also affects gnutls
- CVE-2017-7507 GnuTLS version 3.5.12 and earlier is vulnerable to a NULL pointer dereference while… Also affects gnutls