CVE-2023-34104 Regex Injection via Doctype Entities

High 7.5 Published Updated

An attacker can cause indefinite parser stalls via crafted entity names in fast-xml-parser, leading to denial of service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2023-34104?

CVE-2023-34104 is a high-severity denial of service vulnerability in NaturalIntelligence fast-xml-parser, published on 6 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

fast-xml-parser is an open source, pure javascript xml parser. fast-xml-parser allows special characters in entity names, which are not escaped or sanitized. Since the entity name is used for creating a regex for searching and replacing entities in the XML body, an attacker can abuse it for denial of service (DoS) attacks. By crafting an entity name that results in an intentionally bad performing regex and utilizing it in the entity replacement step of the parser, this can cause the parser to stall for an indefinite amount of time. This problem has been resolved in v4.2.4. Users are advised to upgrade. Users unable to upgrade should avoid using DOCTYPE parsing by setting the `processEntities: false` option.

Weakness: CWE-400, CWE-1333

Which versions are affected by CVE-2023-34104?

2 open source packages ship an affected version, including fast-xml-parser. It affects 1 product.

PackageAffectedFixed in
fast-xml-parser npmFrom 4.1.34.2.4
fast-xml-parser npmFrom 4.1.34.2.4

Products include Naturalintelligence Fast-Xml-Parser.

How do I fix CVE-2023-34104?

Upgrade fast-xml-parser to 4.2.4 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2023-34104 being exploited?

There is no known exploitation of CVE-2023-34104 in the wild and no public exploit code.

Sources

Also known as GHSA-6w63-h3fj-q4vw.

Is CVE-2023-34104 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free