CVE-2022-28366 — neko-htmlunit
HIGHCVE-2022-28366 is a high-severity (CVSS 7.5) vulnerability in net.sourceforge.htmlunit:neko-htmlunit. A fix is available for net.sourceforge.htmlunit:neko-htmlunit — see the affected versions and patch details below.
Denial of service in HtmlUnit-Neko
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
net.sourceforge.htmlunit:neko-htmlunitReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
Certain Neko-related HTML parsers allow a denial of service via crafted Processing Instruction (PI) input that causes excessive heap memory consumption. In particular, this issue exists in HtmlUnit-Neko through 2.26, and is fixed in 2.27. This issue also exists in CyberNeko HTML through 1.9.22 (also affecting OWASP AntiSamy before 1.6.6), but 1.9.22 is the last version of CyberNeko HTML. NOTE: this may be related to CVE-2022-24839.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | net.sourceforge.htmlunit:neko-htmlunit | all versions | 2.27net.sourceforge.htmlunit:neko-htmlunit:2.27 |
Affected Products
antisamyantisamy_projectcyberneko htmlcyberneko_html_projecthtmlunithtmlunitDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for net.sourceforge.htmlunit:neko-htmlunit, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update net.sourceforge.htmlunit:neko-htmlunit to 2.27 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-28366 is resolved across your whole dependency graph.
Workarounds
Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.
Frequently Asked Questions
Is CVE-2022-28366 in your dependencies?
Find it across Maven, including transitive dependencies.