Patching a corpse — this CVE fires on a Linux distro that ceased to exist over a decade ago
CVE-2011-3379 is a code-injection flaw in PHP's is_a() function, introduced in PHP 5.3.7 and fixed in 5.3.9. When is_a() is called with a class name that hasn't been loaded yet, it triggers __autoload(). If the application uses an unsafe autoloader — particularly certain PEAR packages that pass unsanitized input to include() or require() — a remote attacker can supply a crafted URL parameter to load and execute arbitrary code. The affected range is exclusively PHP 5.3.7 and 5.3.8 on Mandriva Linux 2010.1 and 2011. Mandriva S.A. was liquidated in May 2015. The OS has received zero security updates for over 11 years. PHP 5.3 reached end-of-life on 14 August 2014.
The vendor severity of HIGH (CVSS v2 7.5) was reasonable *in 2011* for the narrow window when PHP 5.3.7/5.3.8 shipped. But in September 2026, this Tenable plugin fires on a distribution with no living support infrastructure. The finding is completely unactionable as a patch operation — Mandriva's repositories are offline, its mirrors are dead, and even if you sourced the old SRPM, you'd be applying a 15-year-old patch to an OS riddled with hundreds of other unpatched CVEs. Red Hat marked RHEL as not affected. Ubuntu marked all releases as not affected. The only hosts that trigger this plugin are Mandriva zombies that should have been decommissioned a decade ago. Treating this as a HIGH-severity finding pollutes your patch queue and buries real risk.
4 steps from start to impact.
Locate a Mandriva host running PHP 5.3.7 or 5.3.8
- Target must be running Mandriva Linux 2010.1 or 2011
- PHP 5.3.7 or 5.3.8 must be installed and network-reachable
- Mandriva Linux has been dead since 2015 — installed base in enterprise is ~0%
- PHP 5.3 reached EOL in August 2014 — no modern application framework supports it
- Any host running this stack has hundreds of other exploitable CVEs
Identify a PHP application using an unsafe autoloader
is_a() with user-controllable input AND uses an autoloader that performs unsafe file inclusion (e.g., include($className . '.php')). Specific PEAR packages from circa 2011 were known to have this pattern. Modern PHP frameworks do not — and cannot run on PHP 5.3.7 anyway.- A PHP web application must be accessible on the host
- The application must call is_a() with attacker-controlled class names
- An unsafe __autoload() or spl_autoload_register() handler must be active
- Most applications don't pass user input directly to is_a()
- The specific PEAR autoloader patterns are from circa 2011 and rarely deployed even then
- Even custom autoloaders typically validate class names against a whitelist or directory
Craft URL to trigger autoload-based file inclusion
is_a() processes it, __autoload() fires and the unsafe autoloader includes an attacker-controlled path. Depending on the autoloader implementation, this can result in local file inclusion (LFI) or, with allow_url_include=On, remote file inclusion (RFI) leading to code execution.- The autoloader must not sanitize the class name
- For RFI: php.ini must have allow_url_include=On (off by default since PHP 5.2)
- allow_url_include has been off by default since PHP 5.2.0 (2006)
- Even LFI requires a writable location with attacker-controlled content
- WAF/IPS signatures for path traversal and RFI payloads are ubiquitous
Achieve remote code execution
apache or nobody). On an unpatched Mandriva host from 2011, local privilege escalation to root is trivial via any number of kernel vulnerabilities from the last 15 years of unpatched CVEs.- File inclusion must succeed (steps 2-3)
- For full host compromise: local privesc (trivially available on 15-year-unpatched kernel)
- This step is contingent on the entire chain succeeding, which requires an extremely specific and rare application configuration
- The practical barrier is finding the host, not exploiting it — once found, there are far easier attack paths on a 15-year-unpatched OS
The supporting signals.
| In-the-wild exploitation | None known. Not in CISA KEV. No documented campaigns targeting CVE-2011-3379 specifically. Any attacker encountering a Mandriva 2011 host would use far simpler attack vectors. |
|---|---|
| Proof-of-concept | No public PoC. No dedicated exploit code in ExploitDB, Metasploit, or GitHub PoC repositories. The attack requires application-specific autoloader conditions that prevent a generic PoC. |
| EPSS | 0.0501 (5.01%), 91.87th percentile as of 2026-09-23. Elevated for a 2011 CVE, likely due to the Network/Low-complexity CVSS vector rather than actual exploitation signals. |
| KEV status | Not listed. CISA has never added CVE-2011-3379 to the Known Exploited Vulnerabilities catalog. |
| CVSS | v2: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P) · v3.1: 7.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L). Red Hat independently scored v2 at 5.1 (AC:H), reflecting the application-specific preconditions NVD ignored. |
| Affected versions | PHP 5.3.7 and 5.3.8 only. The is_a() autoload behavior was introduced in 5.3.7 and reverted/fixed in 5.3.9. This Tenable plugin fires only on Mandriva Linux 2010.1 and 2011. |
| Fixed version | PHP 5.3.9 (released 2012-01-10). Mandriva shipped patched packages in MDVSA-2011:166 (2011-11-03). No other distro was affected — RHEL, Ubuntu, Debian, SUSE all confirmed not vulnerable. |
| Vendor status | Mandriva S.A. liquidated May 2015. No repositories, mirrors, or support channels exist. The OS has been dead for 11+ years. Successor forks (OpenMandriva, Mageia) are entirely separate codebases. |
| Exposure data | Effectively zero. No Shodan/Censys/GreyNoise queries return Mandriva Linux hosts in meaningful numbers. The distribution's market share was negligible even at its peak and is now extinct in enterprise. |
| Researcher | Reported via PHP upstream bug tracker. The is_a() autoload change was a deliberate feature that had unintended security consequences. No individual researcher credited. |
Why this verdict
- Dead vendor, dead OS: Mandriva S.A. was liquidated in 2015. The OS has received zero security updates for 11+ years. This finding cannot be remediated through patching — the vendor's repositories, mirrors, and build infrastructure no longer exist.
- Vanishingly narrow installed base: Mandriva Linux was a niche desktop distribution even at its peak. In 2026 enterprise environments, the probability of encountering a production Mandriva host is effectively zero. This fails the ≥1% installed-base threshold for any role multiplier.
- Role multiplier: Mandriva was never deployed as an identity server, hypervisor, CI/CD node, backup appliance, or network edge device in any meaningful enterprise capacity. It was a desktop-oriented distribution. Even if a stray Mandriva host exists, it does not occupy a high-value role — it is a forgotten lab VM or legacy appliance. Blast radius is host-local at most.
- Individual CVE is noise on a compromised-by-default host: Any Mandriva 2011 host has 15 years of unpatched kernel, glibc, OpenSSL, and SSH vulnerabilities. Prioritizing CVE-2011-3379 over any of those is like worrying about a cracked window in a building with no walls.
- Application-specific preconditions: Even on a vulnerable PHP version, exploitation requires an unsafe autoloader pattern that was uncommon even in 2011. Red Hat's independent CVSS assessment (5.1, AC:High) correctly reflected this. The NVD score of 7.5 assumed trivial exploitation that does not match reality.
Why not higher?
This finding has zero remediation path (vendor is dead), zero installed base (OS is extinct), and zero strategic value to an attacker (hundreds of easier CVEs on the same host). Assigning any severity above IGNORE would actively harm the defender's prioritization by consuming attention that should go to living, patchable vulnerabilities on production systems.
Why not lower?
IGNORE is already the lowest possible rating. We cannot go lower. If the host exists at all, the correct action is decommissioning — but that's a host-level decision, not a CVE-level one.
What to do — in priority order.
- IGNORE 0.0→IGNORE 0.0Decommission the Mandriva host immediately — This is not a compensating control — it is the *only* remediation. A host running Mandriva Linux 2010.1/2011 in 2026 is beyond patching. It has 11+ years of unpatched vulnerabilities across every component. Migrate any workloads to a supported OS (RHEL 9, Ubuntu 24.04 LTS, Debian 12). This should be treated as an emergency decommission regardless of the noisgate SLA, because the host itself is the vulnerability.
- IGNORE 0.0→IGNORE 0.0Network-isolate the host pending decommission — If immediate decommission is blocked by a workload dependency, place the host in a quarantine VLAN with no inbound access from untrusted networks and no outbound internet. Apply firewall rules to allow only the minimum required traffic. This eliminates the network attack vector for CVE-2011-3379 and hundreds of other unpatched CVEs on this host. Implement within hours, not days.
- IGNORE 0.0→IGNORE 0.0Disable PHP if not required — If the Mandriva host must temporarily remain online and PHP is not required for its function, stop the Apache/PHP service (
service httpd stop) and remove it from startup. This eliminates the entire PHP attack surface, including CVE-2011-3379.
- Patching PHP on Mandriva — Mandriva's package repositories are offline. Even archived mirrors contain only the 2011-era packages. You cannot
urpmi --auto-updatea dead distribution. - Upgrading PHP in-place — Compiling PHP from source on a Mandriva 2011 host with its ancient glibc, OpenSSL, and toolchain would create a Frankenstein system with unknown dependency interactions and no security support.
- WAF/IPS as long-term mitigation — While a WAF can block the specific RFI/LFI payloads for this CVE, the host has hundreds of other unpatched attack surfaces. A WAF creates a false sense of security around a fundamentally compromised platform.
Crowdsourced verification payload.
Run this script directly on the suspect host (requires root or read access to /etc/mandriva-release and php --version). Invoke with: sudo bash check_cve_2011_3379.sh. No network access or external dependencies required.
#!/usr/bin/env bash
# check_cve_2011_3379.sh
# Checks for CVE-2011-3379: PHP is_a() autoload on Mandriva Linux
# Affected: PHP 5.3.7 and 5.3.8 on Mandriva Linux 2010.1 / 2011
# Exit codes: 0 = VULNERABLE, 1 = PATCHED, 2 = UNKNOWN
set -euo pipefail
VULNERABLE=0
PATCHED=1
UNKNOWN=2
# Check if this is Mandriva Linux
if [[ ! -f /etc/mandriva-release ]]; then
echo "PATCHED — Not a Mandriva Linux host. CVE-2011-3379 (MDVSA-2011:166) does not apply."
exit $PATCHED
fi
MDV_RELEASE=$(cat /etc/mandriva-release 2>/dev/null || echo "unknown")
echo "Detected Mandriva release: $MDV_RELEASE"
# Check if PHP is installed
if ! command -v php &>/dev/null; then
echo "PATCHED — PHP is not installed on this Mandriva host."
exit $PATCHED
fi
# Get PHP version
PHP_VERSION=$(php -r 'echo PHP_VERSION;' 2>/dev/null || echo "unknown")
echo "Detected PHP version: $PHP_VERSION"
if [[ "$PHP_VERSION" == "unknown" ]]; then
echo "UNKNOWN — Could not determine PHP version."
exit $UNKNOWN
fi
# CVE-2011-3379 affects exactly PHP 5.3.7 and 5.3.8
case "$PHP_VERSION" in
5.3.7*|5.3.8*)
echo "VULNERABLE — PHP $PHP_VERSION on Mandriva is affected by CVE-2011-3379."
echo "WARNING: Mandriva Linux is EOL since 2015. This host cannot be patched."
echo "ACTION: Decommission this host immediately."
exit $VULNERABLE
;;
5.3.9*|5.3.1[0-9]*|5.[4-9]*|[6-9]*|[1-9][0-9]*)
echo "PATCHED — PHP $PHP_VERSION is not affected by CVE-2011-3379 (fixed in 5.3.9)."
echo "WARNING: This host is still running Mandriva Linux, which is EOL since 2015."
exit $PATCHED
;;
*)
echo "PATCHED — PHP $PHP_VERSION predates the vulnerable is_a() change (introduced in 5.3.7)."
echo "WARNING: This host is still running Mandriva Linux, which is EOL since 2015."
exit $PATCHED
;;
esacWhat defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.