Cloudanix VulnDB

CVE-2023-34623

High · 7.5

CVSS

7.5

EPSS

0.9%

Published

Jun 14, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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.

Exploit Available
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

  1. Locate an application endpoint or API that accepts HTML or XML input processed by JTidy
  2. Generate a minimal payload containing cyclic object references that the parser will traverse
  3. Submit the payload over the network without authentication
  4. 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