{"id":"CVE-2022-25757","summary":"Apache APISIX: the body_schema check in request-validation plugin can be bypassed","details":"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.","aliases":["BIT-apisix-2022-25757"],"modified":"2026-08-12T03:51:31.350625061Z","published":"2022-03-28T07:00:16Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/25xxx/CVE-2022-25757.json","unresolved_ranges":[{"extracted_events":[{"introduced":"Apache APISIX"},{"last_affected":"2.12.1"}],"source":"AFFECTED_FIELD"},{"extracted_events":[{"fixed":"2.13.0"}],"source":"DESCRIPTION"}],"cna_assigner":"apache","cwe_ids":["CWE-20"]},"references":[{"type":"WEB","url":"https://lists.apache.org/thread/03vd2j81krxmpz6xo8p1dl642flpo6fv"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/25xxx/CVE-2022-25757.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-25757"},{"type":"ARTICLE","url":"http://www.openwall.com/lists/oss-security/2022/03/28/2"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/apache/apisix","events":[{"introduced":"0"},{"fixed":"f43a20e587e3494cbc924278ad317bf98cfa3201"}],"database_specific":{"source":"CPE_RANGE","cpe":"cpe:2.3:a:apache:apisix:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"2.13.0"}]}}],"versions":["v0.9","0.9-RC1","v0.7","v0.5","v0.4.1","v0.4","v0.3-1","v0.3","v0.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-25757.json"}}],"schema_version":"1.9.0"}