CVE-2026-3547 Overview
CVE-2026-3547 is an out-of-bounds read vulnerability in wolfSSL's ALPN (Application-Layer Protocol Negotiation) parsing functionality. The vulnerability exists in wolfSSL version 5.8.4 and earlier when built with ALPN enabled (HAVE_ALPN / --enable-alpn). A malicious actor can craft a specially designed ALPN protocol list that triggers an out-of-bounds read operation, potentially causing a process crash and resulting in a denial of service condition.
While ALPN is disabled by default in wolfSSL, it is automatically enabled when building with various third-party compatibility features including Apache httpd, BIND, curl, HAProxy, Hitch, Lighty, JNI, nginx, and QUIC support.
Critical Impact
This vulnerability can be exploited remotely over the network without authentication to crash TLS/SSL services built with wolfSSL, causing denial of service for applications using affected configurations.
Affected Products
- wolfSSL 5.8.4 and earlier versions
- wolfSSL builds with ALPN enabled via HAVE_ALPN or --enable-alpn
- wolfSSL builds using third-party compatibility features: enable-apachehttpd, enable-bind, enable-curl, enable-haproxy, enable-hitch, enable-lighty, enable-jni, enable-nginx, enable-quic
Discovery Timeline
- 2026-03-19 - CVE CVE-2026-3547 published to NVD
- 2026-03-19 - Last updated in NVD database
Technical Details for CVE-2026-3547
Vulnerability Analysis
This vulnerability is classified as CWE-125 (Out-of-bounds Read), a memory safety issue that occurs when the software reads data past the end or before the beginning of the intended buffer. In the context of wolfSSL's ALPN handling, the vulnerability stems from incomplete validation of the ALPN protocol list received during the TLS handshake.
When processing ALPN extensions, wolfSSL fails to properly validate boundary conditions before reading protocol names from the incoming data. An attacker can exploit this by sending a malformed ALPN extension with crafted length values that cause the parser to read beyond the allocated buffer boundaries.
The exploitation path involves initiating a TLS connection to a vulnerable server and sending a ClientHello message containing a specially crafted ALPN extension. When the server processes this extension, the out-of-bounds read is triggered, potentially causing the server process to crash.
Root Cause
The root cause of CVE-2026-3547 is incomplete input validation in the ALPN parsing code. The vulnerability occurs because the code does not adequately verify that the declared length fields within the ALPN extension align with the actual data available in the buffer. This allows an attacker to specify protocol name lengths that exceed the actual data boundaries, causing the parser to read from unintended memory locations.
Attack Vector
The attack can be executed remotely over the network without requiring any authentication or user interaction. An attacker establishes a TLS connection to a vulnerable wolfSSL-based server and sends a crafted ClientHello message containing a malicious ALPN extension. The attack exploits the TLS handshake process, meaning the attacker does not need any valid credentials or prior access to the target system.
The vulnerability primarily results in denial of service through process crashes. While out-of-bounds read vulnerabilities can sometimes leak sensitive memory contents, the primary confirmed impact of this vulnerability is availability disruption.
Detection Methods for CVE-2026-3547
Indicators of Compromise
- Unexpected crashes of TLS/SSL services using wolfSSL library
- Core dumps or error logs indicating segmentation faults in ALPN handling functions
- Unusual TLS ClientHello messages with malformed or oversized ALPN extensions
- Multiple connection attempts followed by immediate disconnections from the same source
Detection Strategies
- Monitor wolfSSL-based application logs for crash events related to TLS handshake processing
- Implement network intrusion detection rules to identify malformed ALPN extensions in TLS ClientHello packets
- Deploy application-level monitoring to detect abnormal restart patterns in services using wolfSSL
- Use memory debugging tools in development and staging environments to identify out-of-bounds read attempts
Monitoring Recommendations
- Enable detailed TLS debugging logs on wolfSSL-based services to capture handshake anomalies
- Configure process monitoring to alert on repeated crashes of TLS-enabled services
- Implement rate limiting on TLS connection attempts to reduce denial of service impact
- Monitor system resource usage for signs of exploitation attempts causing service degradation
How to Mitigate CVE-2026-3547
Immediate Actions Required
- Identify all systems running wolfSSL version 5.8.4 or earlier with ALPN enabled
- Review build configurations to determine if any third-party compatibility features automatically enable ALPN
- Plan and execute updates to a patched version of wolfSSL as soon as available
- Consider temporarily disabling ALPN if the feature is not strictly required for your application
Patch Information
A fix for this vulnerability has been submitted to the wolfSSL repository. The patch addresses the incomplete validation issue in the ALPN parsing code. For technical details and the specific code changes, refer to the GitHub Pull Request #9859.
Organizations should monitor the official wolfSSL releases for a version that incorporates this fix and update their deployments accordingly.
Workarounds
- Disable ALPN support by rebuilding wolfSSL without the --enable-alpn flag if ALPN functionality is not required
- Avoid using third-party compatibility build options (enable-nginx, enable-curl, etc.) unless necessary, as these automatically enable ALPN
- Deploy network-level filtering to inspect and drop malformed TLS ClientHello messages with suspicious ALPN extensions
- Implement service isolation to limit the blast radius of potential denial of service attacks
# Rebuild wolfSSL without ALPN support
./configure --disable-alpn
make clean
make
make install
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


