CVE-2025-31698 Overview
A significant access control vulnerability has been identified in Apache Traffic Server where Access Control Lists (ACLs) configured in ip_allow.config or remap.config do not properly utilize IP addresses provided by the PROXY protocol. This improper access control flaw (CWE-284) allows remote attackers to potentially bypass IP-based access restrictions when Apache Traffic Server is configured to accept PROXY protocol connections.
The vulnerability stems from how Apache Traffic Server processes client IP addresses when PROXY protocol is in use. Instead of using the real client IP address transmitted via the PROXY protocol header, the ACL evaluation may use an incorrect IP address, rendering IP-based access controls ineffective.
Critical Impact
Attackers can bypass IP-based access control restrictions to access protected resources, potentially exposing sensitive data or backend services that should be restricted to specific IP ranges.
Affected Products
- Apache Traffic Server versions 10.0.0 through 10.0.6
- Apache Traffic Server versions 9.0.0 through 9.2.10
Discovery Timeline
- 2025-06-19 - CVE CVE-2025-31698 published to NVD
- 2025-07-01 - Last updated in NVD database
Technical Details for CVE-2025-31698
Vulnerability Analysis
This vulnerability represents an improper access control issue in how Apache Traffic Server handles IP address information when the PROXY protocol is enabled. The PROXY protocol is commonly used in load-balanced environments to preserve original client IP addresses when connections pass through intermediary proxies or load balancers.
When Apache Traffic Server is configured to accept PROXY protocol headers, it should extract the original client IP from the protocol header for use in access control decisions. However, the ACL evaluation logic in ip_allow.config and remap.config fails to properly reference these PROXY protocol-provided IP addresses, instead potentially using the direct connection IP (which would be the load balancer or proxy).
This creates a scenario where carefully crafted requests can bypass IP-based restrictions, as the ACL checks against an unintended IP address rather than the actual client source.
Root Cause
The root cause lies in the disconnect between PROXY protocol IP address extraction and ACL evaluation subsystems within Apache Traffic Server. The ACL implementation does not properly query the PROXY protocol-provided IP addresses when making access control decisions, creating an inconsistency between the expected and actual IP addresses used for security enforcement.
Apache has introduced a new configuration setting proxy.config.acl.subjects that allows administrators to explicitly specify which IP addresses should be used for ACL evaluation when PROXY protocol is enabled, providing granular control over this behavior.
Attack Vector
This vulnerability is exploitable over the network without requiring authentication or user interaction. An attacker positioned behind a PROXY protocol-enabled proxy or load balancer could craft requests that bypass IP-based ACL restrictions.
The attack scenario involves:
- An attacker identifies that the target Apache Traffic Server instance accepts PROXY protocol connections
- The attacker crafts requests that exploit the inconsistency between PROXY protocol IP handling and ACL evaluation
- Access control restrictions configured in ip_allow.config or remap.config are bypassed, allowing unauthorized access to protected resources
Due to the nature of this vulnerability, sensitive data exposure is the primary concern, as attackers may gain read access to resources that should be restricted by IP-based ACLs.
Detection Methods for CVE-2025-31698
Indicators of Compromise
- Unexpected access to IP-restricted resources from sources that should be blocked
- Log entries showing access from load balancer or proxy IPs to restricted endpoints rather than actual client IPs
- Anomalous traffic patterns to protected backend services
- Authentication-bypassed requests reaching sensitive endpoints
Detection Strategies
- Review Apache Traffic Server access logs for requests to protected resources from unexpected source IPs
- Monitor for discrepancies between PROXY protocol client IPs and the IPs recorded in ACL decision logs
- Implement network-level monitoring for traffic patterns that suggest ACL bypass attempts
- Audit configuration files (ip_allow.config and remap.config) to identify potentially affected ACL rules
Monitoring Recommendations
- Enable verbose logging for ACL decisions to capture which IP addresses are being evaluated
- Set up alerts for access to protected resources from load balancer or proxy IP ranges
- Correlate access logs with expected IP allowlists to identify potential bypass activity
- Monitor the Apache security mailing list for additional indicators and threat intelligence
How to Mitigate CVE-2025-31698
Immediate Actions Required
- Upgrade Apache Traffic Server to version 9.2.11 or 10.0.6 immediately
- Review and audit all IP-based ACL configurations in ip_allow.config and remap.config
- Assess which resources are protected by IP-based ACLs and evaluate potential exposure
- Consider implementing additional authentication mechanisms beyond IP-based access control
Patch Information
Apache has released patched versions that address this vulnerability:
- Version 9.2.11 for the 9.x branch
- Version 10.0.6 for the 10.x branch
Additionally, a new configuration setting proxy.config.acl.subjects has been introduced, allowing administrators to explicitly control which IP addresses are used for ACL evaluation when PROXY protocol is enabled.
For detailed information about the fix, refer to the Apache Security Mailing List Discussion.
Workarounds
- Temporarily disable PROXY protocol acceptance if not strictly required until patching is complete
- Implement network-level firewall rules as an additional layer of IP-based access control
- Add application-layer authentication to resources previously protected only by IP ACLs
- Use the new proxy.config.acl.subjects setting after upgrading to explicitly configure IP address handling for ACLs
# Configuration example - After upgrading, configure ACL IP source behavior
# Edit records.config to specify which IP addresses to use for ACL evaluation
CONFIG proxy.config.acl.subjects STRING <appropriate_value>
# Restart Apache Traffic Server after configuration changes
traffic_ctl config reload
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


