← Back to Feed CACHED · 2026-09-24 07:48:57 · CACHE_KEY tenable:56708
tenable:56708 · CWE-94 · Disclosed 2011-11-03

Mandriva Linux Security Advisory : php

ASSESSED — NOISGATE
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

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.

"Dead OS, dead PHP, dead vendor — decommission the host, don't chase this CVE."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Locate a Mandriva host running PHP 5.3.7 or 5.3.8

The attacker must find a host still running Mandriva Linux 2010.1 or 2011 with an unpatched PHP 5.3.7 or 5.3.8 installation. This distribution has been defunct since 2015; the installed base in enterprise environments in 2026 is effectively zero. Any such host is an extreme outlier — likely a forgotten appliance, a lab artifact, or a VM snapshot that was never cleaned up.
Conditions required:
  • Target must be running Mandriva Linux 2010.1 or 2011
  • PHP 5.3.7 or 5.3.8 must be installed and network-reachable
Where this breaks in practice:
  • 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
Detection/coverage: Tenable plugin 56708 detects via local package version check. Any asset inventory or CMDB query for 'mandriva' or 'mandrake' in os_family will surface these hosts instantly.
STEP 02

Identify a PHP application using an unsafe autoloader

The attacker must find a web application on the target that calls 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.
Conditions required:
  • 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
Where this breaks in practice:
  • 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
Detection/coverage: Static analysis of PHP source for is_a() calls with user input. No commercial scanner checks autoloader safety as a standalone rule.
STEP 03

Craft URL to trigger autoload-based file inclusion

The attacker sends a request with a crafted class name parameter. When 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.
Conditions required:
  • 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)
Where this breaks in practice:
  • 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
Detection/coverage: WAF rules for path traversal and remote file inclusion. IDS signatures for PHP RFI payloads. Web server access logs showing unusual class-name-like parameters.
STEP 04

Achieve remote code execution

If the file inclusion succeeds, the attacker executes arbitrary PHP code in the context of the web server process (typically 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.
Conditions required:
  • File inclusion must succeed (steps 2-3)
  • For full host compromise: local privesc (trivially available on 15-year-unpatched kernel)
Where this breaks in practice:
  • 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
Detection/coverage: EDR/AV on the host is almost certainly nonexistent or unmaintained on a Mandriva 2011 system. Network-based detection (IDS/IPS) is the only realistic detection layer.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone 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-conceptNo 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.
EPSS0.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 statusNot listed. CISA has never added CVE-2011-3379 to the Known Exploited Vulnerabilities catalog.
CVSSv2: 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 versionsPHP 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 versionPHP 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 statusMandriva 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 dataEffectively 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.
ResearcherReported via PHP upstream bug tracker. The is_a() autoload change was a deliberate feature that had unintended security consequences. No individual researcher credited.
04 · The Call

Final Verdict
DOWNGRADED to IGNORE (0.0/10)

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.

05 · Compensating Control

What to do — in priority order.

  1. IGNORE 0.0IGNORE 0.0
    Decommission 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.
  2. IGNORE 0.0IGNORE 0.0
    Network-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.
  3. IGNORE 0.0IGNORE 0.0
    Disable 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.
All controls applied
IGNORE 0.0IGNORE 0.0
What doesn't work
  • Patching PHP on Mandriva — Mandriva's package repositories are offline. Even archived mirrors contain only the 2011-era packages. You cannot urpmi --auto-update a 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.
06 · Verification

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.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/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
    ;;
esac
07 · Sources

Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.