CVE-2023-34623
High · 7.5CVSS
7.5
EPSS
0.9%
Published
Jun 14, 2023
CISA due date
—
Cloudanix analysis
A library used to clean up HTML can be tricked by specially made input into crashing, which can take down any service that relies on it.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits an attacker-supplied object containing cyclic references to trigger uncontrolled recursion or resource exhaustion inside the JTidy HTML parser, resulting in denial of service through memory corruption.
Why it matters to the business
Services that parse untrusted HTML with JTidy can experience sudden crashes or sustained unavailability, disrupting web content processing and any dependent applications or workflows.
How an attack unfolds
An attacker crafts an HTML document or object that references itself in a cycle, then supplies it to any application using the vulnerable JTidy library; the parser enters infinite recursion, exhausting stack or heap resources and crashing the process.
How to fix it
Replace JTidy with a maintained HTML parser; if immediate replacement is impossible, wrap all JTidy invocations with strict input-size limits and cycle-detection logic before parsing.
How to confirm the fix worked
Confirm that JTidy is no longer present in the runtime classpath or that all parsing calls are guarded by size and cycle checks; re-test with cyclic payloads to verify the application no longer crashes.
Typical attack path
- Locate an application endpoint or API that accepts HTML or XML input processed by JTidy
- Generate a minimal payload containing cyclic object references that the parser will traverse
- Submit the payload over the network without authentication
- Observe resource exhaustion or process termination confirming successful denial of service
How to detect it
Review application logs for uncaught stack-overflow or out-of-memory exceptions immediately following receipt of HTML payloads; correlate with web-server access logs showing unusually large or malformed POST bodies.
What your security team should do
- Inventory all deployments that include the JTidy library and prioritize removal or replacement
- Implement input validation and resource limits around any remaining HTML parsing code
- Monitor for sudden spikes in memory or CPU usage on systems that process external HTML
The record
An issue was discovered jtidy thru r938 allows attackers to cause a denial of service or other unspecified impacts via crafted object that uses cyclic dependencies.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | jtidy | 0 | No fix |
| Debian:12 | jtidy | 0 | No fix |
| Debian:13 | jtidy | 0 | No fix |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | jtidy | 0 | 8.0-150000.4.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP4 | jtidy | 0 | 8.0-150200.11.7.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | jtidy | 0 | 8.0-150200.11.7.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | jtidy | 0 | 8.0-150200.11.7.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | jtidy | 0 | 8.0-150000.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | jtidy | 0 | 8.0-150000.4.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | jtidy | 0 | 8.0-27.3.1 |
| Ubuntu:16.04:LTS | jtidy | 0 | No fix |
| Ubuntu:18.04:LTS | jtidy | 0 | No fix |
| Ubuntu:20.04:LTS | jtidy | 0 | No fix |
| Ubuntu:22.04:LTS | jtidy | 0 | No fix |
| Ubuntu:24.04:LTS | jtidy | 0 | No fix |
| Ubuntu:24.10 | jtidy | 0 | No fix |
| Ubuntu:25.04 | jtidy | 0 | No fix |
| Ubuntu:25.10 | jtidy | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | jtidy | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | jtidy | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | jtidy | 0 | No fix |
| openSUSE:Leap 15.4 | jtidy | 0 | 8.0-150200.11.7.1 |
| openSUSE:Leap 15.5 | jtidy | 0 | 8.0-150200.11.7.1 |
| openSUSE:Tumbleweed | jtidy | 0 | 1.0.4-1.1 |
Related vulnerabilities
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787
- CVE-2026-112059 libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point… CWE-787
- CVE-2026-89088 A flaw was found in parted. CWE-787
- CVE-2026-89085 A flaw was found in parted. CWE-787
- CVE-2026-85746 MariaDB server is a community developed fork of MySQL server. CWE-787
- CVE-2026-107815 MariaDB server is a community developed fork of MySQL server. CWE-787
- CVE-2026-56851 The Nickname profile can panic with an out-of-bounds slice error when transforming… CWE-787