# HollowByte: Tiny Payload, Massive Memory Drain — OpenSSL Vulnerability Demands Immediate Patching


A newly discovered vulnerability in OpenSSL allows attackers to crash or severely degrade vulnerable servers with just 11 bytes of malicious data. The flaw, dubbed HollowByte, exploits a fundamental weakness in how the library handles TLS handshake message headers, making it a critical threat to the vast majority of internet infrastructure. The OpenSSL team has quietly patched the vulnerability across multiple versions, but adoption remains the key defense.


## The Threat


HollowByte is a denial-of-service (DoS) vulnerability that permits unauthenticated attackers to trigger memory exhaustion on OpenSSL servers with minimal network traffic. By sending a series of small, maliciously crafted TLS connection requests, an attacker can force a vulnerable server to allocate increasingly large amounts of memory until the system becomes unusable.


What makes HollowByte particularly dangerous is its efficiency:

  • Attack payload: Just 11 bytes per request
  • Authentication required: None — any unauthenticated user on the internet can exploit it
  • Detection difficulty: Attack traffic can remain below security alerting thresholds even on high-capacity servers
  • Recovery: Complete restart of the affected process is often necessary to reclaim consumed memory

  • According to Okta's Red Team, which publicly disclosed the vulnerability, the issue affects OpenSSL versions across multiple release branches and is embedded in critical infrastructure used by millions of organizations worldwide.


    ## Background and Context


    ### Why OpenSSL Matters


    OpenSSL is the cryptographic backbone of modern internet security. The open-source library handles TLS/SSL encryption for secure communications and is ubiquitous across:


    | Environment | Usage |

    |---|---|

    | Web servers | NGINX, Apache HTTP Server |

    | Language runtimes | Node.js, Python, Ruby, PHP |

    | Databases | MySQL, PostgreSQL |

    | Linux distributions | Pre-installed on most systems |

    | Enterprise software | Embedded in countless applications |


    A vulnerability in OpenSSL doesn't affect a single application — it potentially impacts billions of internet connections globally. This centrality makes HollowByte a supply-chain amplifier: patching OpenSSL protects all downstream software simultaneously, but delay creates widespread exposure.


    ### TLS Handshakes: The Handshake Protocol


    When two systems establish a secure connection, they engage in a TLS handshake — an exchange of cryptographic parameters and certificates. Each handshake message follows a strict format:


  • 4-byte header: Contains a message type identifier and a 3-byte length field
  • Message body: The actual data payload, sized according to the header's declared length
  • Expected behavior: Server receives the header, reads the declared size, then receives the full message body before processing

  • This protocol has been the standard for decades and works reliably when both parties follow the specification.


    ## Technical Details: How HollowByte Works


    The vulnerability exploits a subtle implementation flaw in how vulnerable OpenSSL versions process handshake messages. Here's the attack sequence:


    ### Step 1: Memory Pre-Allocation


    When a vulnerable OpenSSL server receives a TLS handshake message header, it immediately allocates a buffer matching the 3-byte length field before receiving the actual payload. This is a performance optimization — pre-allocating memory allows the server to accept incoming data without dynamic resizing.


    However, this optimization assumes the client will honestly send the promised data.


    ### Step 2: The Exploit


    An attacker sends a TLS connection request with:

    1. A malicious 4-byte header declaring a much larger message size (e.g., 1 MB)

    2. Only 11 bytes of actual payload (satisfying the network handshake minimum)

    3. No follow-up data


    ### Step 3: Indefinite Blocking


    The vulnerable server allocates the full 1 MB buffer as promised and then blocks indefinitely, waiting for data that will never arrive. When the attacker disconnects, the connection is dropped and the buffer is technically freed — but here's the trap:


    Memory Fragmentation and Heap Bloat


    The GNU C Library (glibc), used by most Linux systems, doesn't immediately return freed small-to-medium allocations to the operating system. Instead, it retains them for potential reuse by the same process. Okta's researchers discovered that by launching waves of connections with randomized claimed sizes, attackers prevent the allocator from efficiently reusing freed chunks.


    The result: severe heap fragmentation and a continuously climbing Resident Set Size (RSS) — the amount of physical memory the process consumes. Even after the attacker stops, the server's memory footprint remains permanently bloated.


    The only way to fully recover is to restart the process.


    ## Implications and Real-World Impact


    ### Who Is Affected?


    Any organization running vulnerable versions of OpenSSL is at risk, which includes:


  • Web hosting providers hosting thousands of websites on shared infrastructure
  • CDNs and reverse proxies handling millions of concurrent requests
  • E-commerce platforms processing payment transactions
  • Financial institutions relying on OpenSSL for banking APIs
  • Cloud providers offering TLS-based services
  • IoT device manufacturers embedding OpenSSL in connected devices

  • ### Severity Assessment


    Okta's testing on NGINX reveals the practical impact:


  • Low-capacity servers: Easily depleted of all available memory with minimal attack traffic
  • High-spec servers: Can lose up to 25% of available memory while attack bandwidth remains below alerting thresholds
  • Detection evasion: The attack's small packet size and distributed nature allow it to fly under the radar of conventional DDoS detection

  • While DoS vulnerabilities are traditionally rated as lower severity than code execution or data theft flaws, their operational impact is severe:

  • Service unavailability disrupts business operations
  • Cascading failures can affect downstream services
  • Reputational damage erodes customer trust
  • Incident response costs mount quickly as teams scramble to identify and patch systems

  • ## Affected Versions and Available Patches


    OpenSSL has silently patched HollowByte across multiple version branches:


    | Version | Status |

    |---|---|

    | 4.0.1 | Fixed |

    | 3.6.3 | Backported fix |

    | 3.5.7 | Backported fix |

    | 3.4.6 | Backported fix |

    | 3.0.21 | Backported fix |


    The fix changes the server's behavior to grow the buffer only when data arrives, effectively ignoring misleading header claims. This eliminates the pre-allocation vulnerability while maintaining performance for legitimate connections.


    ## Recommendations


    ### For System Administrators and Security Teams


    1. Inventory OpenSSL deployments across all infrastructure, including embedded installations in third-party software

    2. Prioritize upgrading to patched versions immediately — treat as a critical security update despite being labeled a "hardening fix"

    3. Test thoroughly before deploying to production to identify any compatibility issues with dependent applications

    4. Monitor memory usage on production servers for signs of exploitation, particularly RSS growth without corresponding request increases

    5. Enable connection logging to detect patterns consistent with HollowByte attacks (many short-lived connections with large declared message sizes)


    ### For Developers


  • Update dependency manifests to require patched OpenSSL versions
  • Review build pipelines to ensure they pull updated OpenSSL packages from official repositories
  • Test containerized applications in updated base images before redeploying

  • ---


    ## HackWire Analysis


    HollowByte exemplifies a dangerous emerging pattern: vulnerabilities that exploit architectural assumptions rather than implementation bugs. The flaw isn't that OpenSSL has a coding error — it's that the library made a reasonable performance optimization that breaks down under adversarial conditions. This class of vulnerability is harder to spot with traditional fuzzing and testing.


    Why this matters now: OpenSSL 4.0 was released only recently, and many organizations still run 3.x branches in production. The backport across four major version branches signals that OpenSSL developers consider this urgent enough to break their normal release cadence. Organizations running older versions face a difficult choice: upgrade with full testing, or accept DoS risk while other patches are evaluated. The stealth nature of the fix — no CVE assigned, described as "hardening" rather than a security vulnerability — may cause some teams to deprioritize patching, creating a window of opportunity for attackers.


    Pattern recognition: This joins a growing list of infrastructure-layer DoS vulnerabilities that exploit fundamental protocol assumptions: HTTP/2 rapid reset attacks, DNS amplification, and BGP hijacking. Each targets a different layer, but the common thread is that small, unauthenticated actions cascade into large-scale impact. Defenders must shift from assuming "DoS is low priority" to recognizing that infrastructure-layer DoS often precedes data breach attempts — attackers use DoS to trigger incident response chaos while exfiltrating data.


    Hidden risk: Organizations patching OpenSSL may overlook the fact that language runtimes (Node.js, Python's ssl module, Ruby's OpenSSL bindings) often ship their own bundled versions of OpenSSL separate from the system library. Patching the OS-level OpenSSL won't protect applications that use bundled versions. Security teams should verify that all applications have updated their embedded OpenSSL dependencies separately.


    — HackWire Editorial


    ## Recommendations for Further Reading


  • Read more in our [Vulnerabilities](https://www.hackwire.news/category/vulnerabilities) coverage
  • Cross-reference with [Breaches](https://www.hackwire.news/category/breaches) and [Malware](https://www.hackwire.news/category/malware)
  • Stay current via the [HackWire homepage](https://www.hackwire.news/)