CVE-2022-23496 A crafted list can trigger a ArrayIndexOutOfBoundsException in Yauaa

High 7.5 Published Updated

A crafted list in Client Hints analysis causes an uncaught exception, crashing applications using the Yauaa Java library.

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

What is CVE-2022-23496?

CVE-2022-23496 is a high-severity denial of service vulnerability in nielsbasjes yauaa, published on 8 Dec 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Yet Another UserAgent Analyzer (Yauaa) is a java library that tries to parse and analyze the useragent string and extract as many relevant attributes as possible. Applications using the Client Hints analysis feature introduced with 7.0.0 can crash because the Yauaa library throws an ArrayIndexOutOfBoundsException. If uncaught the exception will result in a program crash. Applications that do not use this feature are not affected. Users are advised to upgrade to version 7.9.0. Users unable to upgrade may catch and discard any ArrayIndexOutOfBoundsException thrown by the Yauaa library.

Weakness: CWE-755

Which versions are affected by CVE-2022-23496?

24 open source packages ship an affected version, including nl.basjes.parse.useragent:yauaa, nl.basjes.parse.useragent:yauaa-beam and nl.basjes.parse.useragent:yauaa-beam-sql. It affects 1 product.

PackageAffectedFixed in
nl.basjes.parse.useragent:yauaa MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-beam MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-beam MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-beam-sql MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-beam-sql MavenFrom 7.0.07.9.0
18 more packages
nl.basjes.parse.useragent:yauaa-drill MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-drill MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-elasticsearch MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-elasticsearch MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-elasticsearch-8 MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-elasticsearch-8 MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-flink MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-flink MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-flink-table MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-flink-table MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-hive MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-hive MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-logparser MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-logparser MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-snowflake MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-snowflake MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-trino MavenFrom 7.0.07.9.0
nl.basjes.parse.useragent:yauaa-trino MavenFrom 7.0.07.9.0

Products include Yet Another Useragent Analyzer Project Yet Another Useragent Analyzer.

How do I fix CVE-2022-23496?

Upgrade nl.basjes.parse.useragent:yauaa to 7.9.0 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-2022-23496 being exploited?

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

Sources

Also known as GHSA-c4pm-63cg-9j7h.

Is CVE-2022-23496 in your software?

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

Check your SBOMs for free