CVE-2018-6343

Source: cve-assign@fb.com

HIGH
7.5
Published: December 31, 2018 at 10:29 PM
Modified: May 6, 2025 at 04:15 PM

Vulnerability Description

Proxygen fails to validate that a secondary auth manager is set before dereferencing it. That can cause a denial of service issue when parsing a Certificate/CertificateRequest HTTP2 Frame over a fizz (TLS 1.3) transport. This issue affects Proxygen releases starting from v2018.10.29.00 until the fix in v2018.11.19.00.

CVSS Metrics

Base Score
7.5
Severity
HIGH
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weaknesses (CWE)

Source: cve-assign@fb.com
Source: nvd@nist.gov

AI Security Analysis

01 // Technical Summary

Proxygen, a Facebook-developed HTTP/2 proxy library, is vulnerable to a Denial of Service (DoS) attack. This vulnerability, triggered by a crafted Certificate/CertificateRequest HTTP/2 frame over a TLS 1.3 connection, allows attackers to crash the service by dereferencing a null pointer, rendering the service unavailable.

02 // Vulnerability Mechanism

Step 1: Connection Establishment: The attacker establishes a TLS 1.3 connection to a server utilizing Proxygen.

Step 2: Frame Injection: The attacker crafts a malicious Certificate/CertificateRequest HTTP/2 frame. This frame is designed to trigger the vulnerability.

Step 3: Frame Processing: The Proxygen library receives and begins to process the malicious frame.

Step 4: Authentication Manager Dereference: The code attempts to use the secondary authentication manager without first checking if it's initialized.

Step 5: Null Pointer Dereference: Because the authentication manager is not initialized (or is null), the code attempts to dereference a null pointer.

Step 6: Crash and DoS: The null pointer dereference causes a crash, leading to a denial-of-service condition, making the service unavailable.

03 // Deep Technical Analysis

The vulnerability stems from a missing validation check within Proxygen's handling of HTTP/2 frames over a TLS 1.3 connection. Specifically, the code fails to verify if a secondary authentication manager is initialized before attempting to use it. When a malicious Certificate/CertificateRequest frame is received, the code attempts to dereference a null pointer, leading to a crash. The root cause is a null pointer dereference due to the absence of a null check before accessing the secondary authentication manager. This results in a segmentation fault and a subsequent denial of service condition. The flaw lies within the frame parsing logic, specifically in the handling of the Certificate/CertificateRequest frame type and its interaction with the authentication manager. The lack of proper error handling and input validation allows for the exploitation of this logic flaw.

04 // Exploitation Status

Public PoC is likely available. While the vulnerability is relatively old, the specific nature of the flaw (null pointer dereference) makes it highly exploitable if the vulnerable version is still in use. It is unlikely to be **Actively exploited** in the wild due to the age of the vulnerability and the availability of patches.

05 // Threat Intelligence

Due to the age of the vulnerability, it's unlikely to be actively targeted by sophisticated APTs. However, it could be exploited by less skilled attackers or incorporated into automated scanning tools. CISA KEV status: Not Listed.

06 // Detection & Hunting

  • Analyze server logs for unexpected crashes or segmentation faults related to Proxygen processes.

  • Monitor network traffic for unusual HTTP/2 Certificate/CertificateRequest frames, especially those with malformed or unusual content.

  • Implement intrusion detection system (IDS) rules to identify suspicious HTTP/2 frame patterns.

  • Review core dumps for null pointer dereferences within Proxygen code.

  • Use network traffic analysis tools (e.g., Wireshark) to inspect TLS 1.3 traffic for suspicious HTTP/2 frames.

07 // Remediation & Hardening

  • Upgrade Proxygen to a patched version (v2018.11.19.00 or later).

  • Implement input validation to ensure the secondary authentication manager is initialized before use.

  • Apply security patches promptly.

  • Regularly update all dependencies and libraries.

  • Implement a web application firewall (WAF) to filter malicious HTTP/2 traffic.

  • Consider using a reverse proxy with more robust security features in front of the vulnerable service.

08 // Affected Products

Proxygen (Facebook's HTTP/2 proxy library)Affected Versions: v2018.10.29.00 - v2018.11.19.00Any service or application using Proxygen within the specified version range.
Advertisement