Skip to content
Fencer Vulns
critical 9.8

CVE-2021-33391 json

An issue in HTACG HTML Tidy v5.7.28 allows attacker to execute arbitrary code via the -g option of the CleanNode() function in gdoc.c.

published 2023-02-17 3 y ago modified 2026-06-17 4 mo ago also EUVD-2021-20097

cvss
9.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
1.1%
EPSS 1.1% chance of exploitation in 30 days, percentile 66%
public exploits
0
none known

Summary

An issue in HTACG HTML Tidy v5.7.28 allows attacker to execute arbitrary code via the -g option of the CleanNode() function in gdoc.c.

Patch / fix

  • tidy-html5 Debian 14, Debian 13 2:5.8.0-2

debian advisories DEBIAN-CVE-2021-33391

  • tidy-html5 Ubuntu 20.04 LTS 2:5.6.0-11ubuntu0.20.04.1
  • tidy-html5 Ubuntu 22.04 LTS 2:5.6.0-11ubuntu0.22.04.1
  • tidy-html5 Ubuntu 24.04 LTS 2:5.6.0-11ubuntu1

ubuntu advisories UBUNTU-CVE-2021-33391

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • tidy CBL-Mariner 2.0, Azure Linux 3.0 5.8.0-6

azure linux advisories AZL-13687AZL-35324

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
total
Assessed
19 mo ago

Exploit prediction

1.13% chance of exploitation in the next 30 days, higher than 66% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/htacg/tidy-html5/issues/946 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CISA ADP 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNA 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Classification

Weakness

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.