CVE-2023-34235 Leaking sensitive user information still possible by filtering on private with prefix fields

High 8.6 Published Updated

Attackers can leak sensitive data like admin passwords by exploiting a prefix filtering bypass in Strapi's query builder.

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-34235?

CVE-2023-34235 is a high-severity vulnerability in strapi, published on 25 Jul 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Strapi is an open-source headless content management system. Prior to version 4.10.8, it is possible to leak private fields if one is using the `t(number)` prefix. Knex query allows users to change the default prefix. For example, if someone changes the prefix to be the same as it was before or to another table they want to query, the query changes from `password` to `t1.password`. `password` is protected by filtering protections but `t1.password` is not protected. This can lead to filtering attacks on everything related to the object again, including admin passwords and reset-tokens. Version 4.10.8 fixes this issue.

Weakness: CWE-200

Which versions are affected by CVE-2023-34235?

4 open source packages ship an affected version, including @strapi/database and @strapi/utils. It affects 1 product.

PackageAffectedFixed in
@strapi/database npmAll versions4.10.8
@strapi/database npmAll versions4.10.8
@strapi/utils npmAll versions4.10.8
@strapi/utils npmAll versions4.10.8

Products include Strapi Strapi.

How do I fix CVE-2023-34235?

Upgrade @strapi/database to 4.10.8 or later.

Is CVE-2023-34235 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-34235 exists.

Sources

Also known as GHSA-9xg4-3qfm-9w8f.

Is CVE-2023-34235 in your software?

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

Check your SBOMs for free