Apache APISIX batch-requests Plugin IP Restriction Bypass and Remote Code Execution (CVE-2022-24112)
Executive & SecOps Summary
SECOPS ASSESSMENTApache APISIX versions 1.3 through 2.12.1 (including LTS versions prior to 2.10.4)
Remote attackers can bypass IP restrictions on the Admin API and execute arbitrary code on the target server by exploiting default configurations
Immediately upgrade Apache APISIX to version 2.12.1, 2.10.4 LTS, or later, and rotate default Admin Keys
Affected Products & Version Scope
Remediation & Live Workaround Commands
PATCH & WORKAROUND1. Official Patch & Version Upgrade Commands
The recommended remediation is to upgrade Apache APISIX to a patched version (2.12.1 or 2.10.4 LTS and above).
# For Debian/Ubuntu-based systems, update the APISIX package
sudo apt-get update
sudo apt-get --only-upgrade install apisix
# For Docker deployments, pull the patched image and restart containers
docker pull apache/apisix:2.12.1-alpine
docker-compose down && docker-compose up -d2. Temporary Workaround & Hardening Configuration
If upgrading immediately is not feasible, modify config.yaml to change the default Admin Key, disable the batch-requests plugin, and isolate the Admin API port.
# Edit /usr/local/apisix/conf/config.yaml
apisix:
admin_key:
- name: 'admin'
key: 'GENERATE_A_NEW_STRONG_RANDOM_KEY_HERE' # Change default key
role: admin
# Disable the batch-requests plugin by removing or commenting it out
plugins:
- real-ip
- limit-conn
# - batch-requests # Comment out this line3. Log Audit & IoC Verification Commands
Use the following commands to inspect APISIX access logs for suspicious batch request activity and verify the running version.
# Search for successful requests to the batch-requests endpoint
grep -E '/apisix/batch-requests' /usr/local/apisix/logs/access.log | grep ' 200 '
# Verify the currently running APISIX version
apisix versionBlock Exploits Instantly with Managed Virtual Patching Rules
Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.
Technical Root Cause & Exploitation Mechanics
1. Vulnerability Overview & Root Cause
This vulnerability exists within the batch-requests plugin of Apache APISIX. The plugin is designed to accept multiple HTTP requests in a single batch and contains a mechanism to override the client IP with its real remote IP for security validation. However, due to a logical flaw in the code, this validation check can be bypassed. This allows remote attackers to spoof their source IP address, making requests appear as if they originated from trusted sources such as the local loopback interface (127.0.0.1).
2. Exploitation Mechanics & Attack Scenario
An attacker sends a crafted JSON payload to the batch-requests endpoint (/apisix/batch-requests). By exploiting the IP verification bypass, the attacker routes requests internally to the Admin API. If the deployment uses the default Admin Key (e.g., edd1c9f034335f136f87ad84b625c8f1) or if the Admin API port is exposed alongside the data panel, the attacker can successfully authenticate. Once authenticated, the attacker registers a malicious Route containing arbitrary Lua code (via parameters like filter_func), leading to Remote Code Execution (RCE) under the privileges of the APISIX process.
3. Infrastructure & Business Impact
As a CISA KEV-listed vulnerability, this flaw is actively exploited in the wild. Successful exploitation grants the attacker full control over the API Gateway instance. Since the API Gateway acts as the entry point for enterprise microservices, compromise of this layer can lead to traffic interception, credential theft from backend services, and lateral movement deeper into the internal cloud infrastructure.
Official Vendor Advisories & References
An attacker can abuse the batch-requests plugin to send requests to bypass the IP restriction of Admin API. A default configuration of Apache APISIX (with default API key) is vulnerable to remote code execution. When the admin key was changed or the port of Admin API was changed to a port different from the data panel, the impact is lower. But there is still a risk to bypass the IP restriction of Apache APISIX's data panel. There is a check in the batch-requests plugin which overrides the client IP with its real remote IP. But due to a bug in the code, this check can be bypassed.
Frequently Asked SecOps Questions (CVE-2022-24112)
FAQQ1. How critical is CVE-2022-24112 and is it actively exploited in the wild?
CVE-2022-24112 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 96.1%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.
Q2. Which vendors and products are affected by CVE-2022-24112?
Primary impacted vendors include apache across apisix. Scope summary: Apache APISIX versions 1.3 to 2.12.1, and LTS versions 2.10.0 to 2.10.3
Q3. What temporary mitigations or workarounds exist for CVE-2022-24112 before patching?
[Mitigation] Immediately upgrade Apache APISIX to version 2.12.1, 2.10.4 LTS, or later, and rotate default Admin Keys Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.
Generate an Internal Engineering Notice or CISO Report for CVE-2022-24112
Instantly format this advisory into an executive CISO summary or engineering patch ticket.
🔗 Related Advisories in Similar Stack (apache)
View Category →Apache ActiveMQ Jolokia JMX-HTTP Bridge Remote Code Execution Vulnerability Advisory (CVE-2026-34197)
[Affected Scope] Apache ActiveMQ Classic versions prior to 5.19.4, and 6.0.0 through 6.2.3
Apache Tomcat EncryptInterceptor Bypass and Sensitive Data Exposure Vulnerability (CVE-2026-34486)
[Affected Scope] Apache Tomcat versions 11.0.20, 10.1.53, and 9.0.116 utilizing clustering with EncryptInterceptor enabled
Apache Tomcat EncryptInterceptor Padding Oracle Vulnerability (CVE-2026-29146) Security Advisory
[Affected Scope] Apache Tomcat deployments utilizing `EncryptInterceptor` with default configurations for cluster membership protection (11.0.0-M1 to 11.0.18, 10.0.0-M1 to 10.1.52, 9.0.13 to 9.0.115, 8.5.38 to 8.5.100, 7.0.100 to 7.0.109).
Apache MINA 3.0 JavaNativeMessageDecoder Deserialization Remote Code Execution Vulnerability (CVE-2026-118636)
[Affected Scope] Inactive Apache MINA 3.0.0 branch and applications utilizing its codec module
Subscribe to Daily Vulnerability Briefings & KEV Alerts
Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.