CVE-2022-28366 Overview
CVE-2022-28366 is a Denial of Service (DoS) vulnerability affecting certain Neko-related HTML parsers. The vulnerability allows attackers to cause excessive heap memory consumption through crafted Processing Instruction (PI) input. This issue impacts multiple widely-used Java HTML parsing libraries including HtmlUnit-Neko through version 2.26, CyberNeko HTML through version 1.9.22, and OWASP AntiSamy before version 1.6.6.
Critical Impact
Remote attackers can exploit this vulnerability to cause service disruption by sending maliciously crafted HTML input containing specially constructed Processing Instructions, leading to memory exhaustion and denial of service conditions on affected systems.
Affected Products
- CyberNeko HTML (through version 1.9.22)
- HtmlUnit (through version 2.26)
- OWASP AntiSamy (before version 1.6.6)
Discovery Timeline
- April 21, 2022 - CVE-2022-28366 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2022-28366
Vulnerability Analysis
This vulnerability stems from improper handling of Processing Instruction (PI) input within the HTML parsing logic of Neko-related libraries. When the parser encounters specially crafted PI elements, it fails to properly manage memory allocation, resulting in unbounded heap memory consumption. The attack can be executed remotely over the network without requiring authentication or user interaction, making it particularly dangerous for web applications that process untrusted HTML content.
The vulnerability affects the core parsing functionality shared across multiple projects. HtmlUnit-Neko, which provides HTML parsing capabilities for the HtmlUnit testing framework, is affected through version 2.26. CyberNeko HTML, the original project, is affected through version 1.9.22, which is notably the final version of that project. OWASP AntiSamy, a popular HTML sanitization library that depends on CyberNeko HTML, is vulnerable in versions prior to 1.6.6.
Root Cause
The root cause lies in insufficient validation and resource management when processing HTML Processing Instructions. The parser does not implement proper bounds checking or memory limits during PI element processing, allowing attackers to construct input that triggers excessive heap allocation. This represents a classic resource exhaustion vulnerability where untrusted input can consume disproportionate server resources.
Attack Vector
The attack is network-based and requires no authentication or user interaction. An attacker can exploit this vulnerability by:
- Identifying an application that uses one of the affected HTML parsing libraries
- Crafting malicious HTML content containing specially constructed Processing Instruction elements
- Submitting this content to the vulnerable application for parsing
- The parser attempts to process the PI elements, consuming excessive heap memory
- Repeated requests can exhaust available memory, causing denial of service
The vulnerability is exploited by submitting maliciously crafted HTML input containing Processing Instruction (PI) elements designed to trigger excessive memory allocation. When the parser encounters these elements, it fails to properly limit resource consumption, leading to heap exhaustion. For detailed technical information, refer to the Maven Artifact page for Neko HTMLUnit and the OWASP AntiSamy v1.6.6 release notes.
Detection Methods for CVE-2022-28366
Indicators of Compromise
- Abnormal memory consumption patterns in Java applications processing HTML content
- Application crashes or OutOfMemoryError exceptions in HTML parsing components
- Increased garbage collection activity in applications using affected libraries
- Log entries indicating memory allocation failures during HTML processing
Detection Strategies
- Monitor Java heap usage metrics for applications using HtmlUnit, CyberNeko HTML, or AntiSamy libraries
- Implement application-level logging to capture Processing Instruction parsing events
- Deploy memory threshold alerts to detect abnormal consumption patterns in HTML processing services
- Review dependency manifests to identify vulnerable library versions
Monitoring Recommendations
- Configure memory monitoring for JVM applications using affected HTML parsing libraries
- Set up alerts for memory exhaustion events and OutOfMemoryError exceptions
- Monitor response times for endpoints that process HTML content for degradation
- Track and audit library versions through software composition analysis (SCA) tools
How to Mitigate CVE-2022-28366
Immediate Actions Required
- Upgrade HtmlUnit-Neko to version 2.27 or later
- Upgrade OWASP AntiSamy to version 1.6.6 or later
- Note that CyberNeko HTML version 1.9.22 is the final release and no patch is available; migrate to an alternative library
- Review and restrict sources of HTML input to trusted origins where possible
Patch Information
The vulnerability has been addressed in the following releases:
- HtmlUnit-Neko: Fixed in version 2.27. The patched version is available from SourceForge HTMLUnit v2.27 and the Maven Central Repository.
- OWASP AntiSamy: Fixed in version 1.6.6. The patched version is available from GitHub Release v1.6.6.
- CyberNeko HTML: No patch available as version 1.9.22 is the final release of this project. Users should migrate to HtmlUnit-Neko or another maintained alternative.
Workarounds
- Implement input size limits for HTML content submitted for parsing
- Deploy rate limiting on endpoints that process HTML to reduce attack impact
- Configure JVM memory limits to contain potential resource exhaustion
- Consider sandboxing HTML parsing operations in isolated processes with strict resource constraints
# Example: Configure JVM heap limits to contain memory exhaustion
java -Xmx512m -Xms256m -jar your-application.jar
# Example: Maven dependency update for AntiSamy
# Update pom.xml to use patched version:
# <dependency>
# <groupId>org.owasp.antisamy</groupId>
# <artifactId>antisamy</artifactId>
# <version>1.6.6</version>
# </dependency>
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

