CVE-2017-11142 in PHPinfo

Summary

by MITRE

In PHP before 5.6.31, 7.x before 7.0.17, and 7.1.x before 7.1.3, remote attackers could cause a CPU consumption denial of service attack by injecting long form variables, related to main/php_variables.c.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 12/12/2022

This vulnerability exists in PHP versions prior to specific patches and represents a significant denial of service threat that can be exploited through careful manipulation of variable injection techniques. The flaw resides in the main/php_variables.c file where the parsing logic fails to properly handle long form variables, creating a condition where malicious input can trigger excessive CPU consumption. Attackers can leverage this weakness by crafting specially formatted requests that contain extended variable names or structures, causing the PHP interpreter to consume disproportionate computational resources during variable processing. The vulnerability specifically affects PHP versions 5.6.30 and earlier, 7.0.16 and earlier, and 7.1.2 and earlier, making it a widespread issue across multiple PHP version lines.

The technical implementation of this vulnerability stems from inadequate input validation and resource management within the PHP variable parsing subsystem. When PHP encounters variable injection attempts with extended forms, the internal parsing mechanism enters into a computationally expensive loop or recursive processing pattern that consumes excessive CPU cycles. This occurs because the variable handling code does not properly limit the length or complexity of variable names during parsing, allowing attackers to craft inputs that force the parser to perform unnecessary work. The issue is particularly dangerous because it can be triggered through normal HTTP request processing, making it difficult to distinguish between legitimate and malicious requests. According to CWE standards, this maps to CWE-400 which covers Uncontrolled Resource Consumption, and the vulnerability exhibits characteristics of CWE-770 which deals with Allocation of Resources Without Limits or Throttling.

The operational impact of CVE-2017-11142 can be severe for web applications and hosting environments that rely on PHP processing. An attacker can cause sustained CPU exhaustion that leads to complete service unavailability, making it an effective tool for denial of service attacks against web servers. The vulnerability can be exploited through various attack vectors including HTTP GET and POST parameters, cookie values, and other input mechanisms that PHP processes as variables. Systems running affected PHP versions become vulnerable to resource exhaustion attacks that can render web applications unusable, potentially causing significant downtime and revenue loss. Organizations may experience cascading effects where a single vulnerable application can impact entire server resources, affecting multiple hosted applications and services. The attack requires minimal sophistication and can be automated, making it particularly dangerous for high-traffic websites and applications.

Mitigation strategies for this vulnerability center around immediate version upgrades to patched PHP releases, with the recommended versions being PHP 5.6.31, 7.0.17, and 7.1.3 or later. Organizations should also implement input validation and sanitization measures that limit variable name lengths and complexity before processing, though this approach provides only partial protection. Network-level mitigations including rate limiting and request filtering can help reduce the impact of exploitation attempts, while monitoring systems should be configured to detect unusual CPU consumption patterns. Security teams should consider implementing application firewalls that can identify and block suspicious variable injection patterns, and regular vulnerability scanning should include checks for this specific issue. From an ATT&CK framework perspective, this vulnerability aligns with T1499.004 which covers Network Denial of Service, and represents a classic example of resource exhaustion attacks that can be used as part of broader compromise strategies. Organizations should also implement proper configuration management to ensure all PHP installations are updated and monitored for similar vulnerabilities in the future.

Reservation

07/10/2017

Disclosure

07/10/2017

Moderation

accepted

CPE

ready

EPSS

0.15152

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!