← Back to Feed CACHED · 2026-06-25 03:03:56 · CACHE_KEY tenable:17695
tenable:17695 · CWE-200 · Disclosed 2007-12-19

Apache Mixed Platform AddType Directive Information Disclosure

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

A finding from the era of flip phones flagging a deployment pattern almost no one runs in 2026

CVE-2007-6514 describes a quirk where Apache HTTP Server on Linux, with its DocumentRoot mounted from a Windows SMB share via the old smbfs filesystem, would return raw .php (or other handler-bound) source instead of executing it when an attacker appended a trailing backslash to the URL. The Linux SMB client treated path/file.php\ as a valid lookup, while Apache's AddType handler matching did not. The end result: source disclosure, including any embedded DB credentials or secrets in the PHP file. Affected combinations were narrow — Linux 2.4-era kernels with smbfs and an Apache instance serving content directly from the SMB mount; modern cifs.ko and Samba behavior do not exhibit this.

Tenable scores this MEDIUM (CVSS v2 4.3 / v3 5.6) and that label is defensible only in 2007. In 2026, the prerequisite stack — Apache + smbfs (deprecated and removed from the kernel after 3.x) + DocumentRoot served from a Windows file share — is effectively extinct outside of a museum. The vendor severity is technically accurate for the pattern but operationally meaningless: virtually no enterprise on a current distro can reproduce this, and the fix (don't host your webroot on a Windows SMB share) was hygienic advice 19 years ago and is doctrine now.

"A 2007 misconfiguration finding from a long-dead deployment pattern. Document it as accepted risk and move on."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Locate an Apache server with SMB-mounted DocumentRoot

Attacker identifies an internet-reachable Apache instance whose DocumentRoot is mounted from a Windows file share using the legacy smbfs driver. There is no fingerprint for this from the outside; it must be guessed or known from prior recon.
Conditions required:
  • Apache HTTP Server reachable
  • DocumentRoot backed by smbfs mount from Windows SMB share
  • Linux kernel old enough to still ship smbfs (≤ 2.6.x)
Where this breaks in practice:
  • smbfs was deprecated in kernel 2.6.20 (2007) and removed in 3.x — modern distros have no path to this config
  • Best practice for at least 15 years has been to keep webroots on local FS or use cifs/NFS with controlled handlers
  • No reliable remote indicator the DocumentRoot is on SMB
Detection/coverage: Tenable plugin 17695 fires only if the scanner can fetch the same resource with and without a trailing backslash and observe content differences; very low true-positive rate today.
STEP 02

Append trailing backslash to script URL

Attacker requests GET /config.php\ HTTP/1.1. The Linux smbfs client resolves the trailing \ to the same inode as /config.php, but Apache's MIME/handler mapping (driven by AddType application/x-httpd-php .php) does not match .php\ and falls back to the default handler — serving the raw file bytes.
Conditions required:
  • Knowledge or guess of a server-side script filename
  • Network path to the server
Where this breaks in practice:
  • Most browsers and intermediaries normalize trailing \ out of the URL
  • A WAF with even default OWASP CRS will strip or block the malformed path
Detection/coverage: Trivial to spot in access logs — \ in URI path is anomalous and grep-detectable.
STEP 03

Harvest secrets from leaked source

Attacker reads returned PHP/CGI source for DB credentials, API tokens, internal hostnames, and reuses them downstream. This is the impact ceiling: confidentiality only, no code execution, no integrity, no availability.
Conditions required:
  • Source files contain reusable secrets
  • Reused credentials are still valid and reachable
Where this breaks in practice:
  • Modern apps externalize secrets to env vars, vaults, or .env files outside DocumentRoot
  • Credential rotation and short-lived tokens blunt reuse
Detection/coverage: Outbound auth attempts from harvested creds surface in IdP / DB audit logs.
03 · Intelligence Metadata

The supporting signals.

CVECVE-2007-6514
Disclosure date2007-12-19
Vendor severityMEDIUM (CVSS v2 4.3, v3 5.6) per Tenable plugin 17695
CVSS v2 vectorAV:N/AC:M/Au:N/C:P/I:N/A:N — network, confidentiality-only
CWECWE-200 Exposure of Sensitive Information
KEV statusNot listed in CISA KEV
EPSSNegligible — bottom percentile; no scanning activity tied to this CVE in GreyNoise/Shodan/Censys
Public exploitTrivial PoC (curl 'http://target/file.php\') — Bugtraq BID 26939, no weaponized tooling, no Metasploit module
Affected stackApache HTTPD on Linux with smbfs-mounted DocumentRoot; RHEL 3/4/5 unaffected per Red Hat
FixMove DocumentRoot off SMB share; smbfs removed in Linux 3.x making the bug structurally unreachable
ReporterPublic list disclosure, December 2007
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to IGNORE (1.5/10)

The single decisive factor is prerequisite extinction: the vulnerability requires the deprecated smbfs kernel driver (removed from Linux 3.x in 2012) plus an Apache DocumentRoot served from a Windows file share — a configuration that does not exist in any supported enterprise distribution in 2026. Vendor MEDIUM is a museum-piece score, not a live operational risk.

HIGH the underlying CVE is real and well-understood
HIGH exposure population in 2026 is effectively zero
MEDIUM absence of legacy CentOS 5 / RHEL 4 / Debian Etch corners in your fleet

Why this verdict

  • Prerequisite extinction: smbfs was deprecated in 2007 and removed from the upstream kernel in the 3.x series. No currently supported RHEL, Ubuntu LTS, SLES, or Debian release can produce the affected configuration.
  • Exposure population <<1%: the DocumentRoot-on-SMB pattern is anti-pattern in every Apache hardening guide since the Bush administration. Tenable's own scanner reports this primarily as a residual finding on long-frozen legacy hosts.
  • Impact ceiling is confidentiality-only: no RCE, no integrity, no availability — and modern apps don't put live secrets in webroot-served files; they use vaults and env injection.
  • Not KEV-listed, near-zero EPSS, no active exploitation telemetry in GreyNoise, Shodan, or Censys datasets through 2026.
  • Role multiplier: even on a high-value role (e.g., an internal web app fronting an identity service), the chain still terminates at static source disclosure — no privilege elevation, no lateral movement primitive. The role floor does not promote past LOW because the impact primitive itself is bounded.

Why not higher?

MEDIUM would imply a live, reproducible exposure that justifies the effort of a remediation ticket across 10,000 hosts. The kernel-level driver required for the bug has been gone for 13 years; promoting this above IGNORE would create scan-noise debt on every legacy box for no defensive return.

Why not lower?

It is not literally impossible — a forgotten CentOS 5 jump box or an embedded appliance running a frozen 2.6 kernel could still match. IGNORE here means "document the accepted risk and stop spending cycles," not "the finding is technically false."

05 · Compensating Control

What to do — in priority order.

  1. Confirm no DocumentRoot lives on an SMB mount — On any host the plugin flags, run mount | grep -E 'smbfs|cifs' and cross-check Apache's DocumentRoot directive against the mount table. If none overlap, the finding is non-exploitable — close as false positive. No mitigation SLA applies under the noisgate IGNORE bucket; treat as one-time hygiene.
  2. Retire any host still running a kernel old enough to ship smbfs — Anything on Linux ≤ 2.6.x is end-of-life by a decade and has 100+ more serious CVEs than this one. Roll into your existing legacy-OS decommission program; no separate SLA needed.
  3. Add a WAF normalization rule that strips or rejects backslashes in URL paths — Defense-in-depth that also kills off a family of path-traversal and handler-confusion bugs in any web stack you run. Implement at the edge in your normal change cadence.
  4. Suppress plugin 17695 in Tenable with a documented exception — If recurring scans flag hosts that have been verified clean (no SMB-mounted webroot), create a scan policy exception with a one-line rationale citing this assessment, so the finding stops competing for analyst attention with real work.
What doesn't work
  • Patching Apache HTTPD — the bug is in the Linux smbfs client's path lookup, not in Apache. Latest httpd does not help.
  • Enabling mod_security with default rules — useful generally, but the bug fires on a single trailing backslash that may be normalized away by upstream proxies and never reach mod_security on the originating server.
  • Removing world-readability from .php files — Apache reads via its own UID and serves the bytes regardless of POSIX perms on the file.
06 · Verification

Crowdsourced verification payload.

Run on each Apache host flagged by Tenable plugin 17695, as a user with read access to /etc/httpd / /etc/apache2 and /proc/mounts (root is cleanest). Invoke: sudo ./check_17695.sh — exits 0 PATCHED (config not vulnerable), 1 VULNERABLE (DocumentRoot on smbfs/cifs), 2 UNKNOWN (config not parseable).

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate verifier — Tenable plugin 17695 / CVE-2007-6514
# Confirms whether Apache DocumentRoot resides on an SMB/CIFS mount on a host
# whose kernel still ships the vulnerable smbfs driver.
set -u

status="PATCHED"
reason=""

# 1) Locate Apache config roots
CONF_DIRS=("/etc/httpd" "/etc/apache2" "/usr/local/apache2/conf")
DOCROOTS=()
for d in "${CONF_DIRS[@]}"; do
  [ -d "$d" ] || continue
  while IFS= read -r line; do
    dr=$(echo "$line" | awk '{print $2}' | tr -d '"')
    [ -n "$dr" ] && DOCROOTS+=("$dr")
  done < <(grep -RhiE '^[[:space:]]*DocumentRoot' "$d" 2>/dev/null)
done

if [ "${#DOCROOTS[@]}" -eq 0 ]; then
  echo "UNKNOWN: no Apache DocumentRoot directive found"
  exit 2
fi

# 2) Check kernel for smbfs (extinct in Linux 3.x+)
KVER=$(uname -r)
SMBFS_PRESENT="no"
if modinfo smbfs >/dev/null 2>&1 || grep -qw smbfs /proc/filesystems 2>/dev/null; then
  SMBFS_PRESENT="yes"
fi

# 3) Compare each DocumentRoot to mount table
MOUNTS=$(awk '{print $2 " " $3}' /proc/mounts)
for dr in "${DOCROOTS[@]}"; do
  # walk up the path to find its mountpoint fstype
  path="$dr"
  while [ "$path" != "/" ] && [ -n "$path" ]; do
    fstype=$(echo "$MOUNTS" | awk -v p="$path" '$1==p {print $2}')
    if [ -n "$fstype" ]; then
      case "$fstype" in
        smbfs)
          status="VULNERABLE"
          reason="DocumentRoot $dr on smbfs mount $path"
          break 2
          ;;
        cifs)
          # cifs is not literally CVE-2007-6514, but is the same anti-pattern
          status="VULNERABLE"
          reason="DocumentRoot $dr on cifs mount $path (anti-pattern; verify backslash handling)"
          break 2
          ;;
      esac
      break
    fi
    path=$(dirname "$path")
  done
done

echo "$status: kernel=$KVER smbfs_loadable=$SMBFS_PRESENT ${reason:+— $reason}"
case "$status" in
  PATCHED) exit 0 ;;
  VULNERABLE) exit 1 ;;
  *) exit 2 ;;
esac
07 · Bottom Line

If you remember one thing.

TL;DR
Stop spending analyst hours on this. Verdict is IGNORE under the noisgate SLA — no mitigation SLA, and no remediation SLA beyond normal hygiene; treat as backlog/scan-noise. Monday morning: run the verifier across the hosts plugin 17695 flagged; for any that come back PATCHED (the overwhelming majority — no smbfs, no SMB-mounted DocumentRoot), file a Tenable plugin exception with a one-paragraph rationale pointing at this assessment so it stops re-firing. For any host that genuinely returns VULNERABLE, you are looking at a Linux ≤ 2.6 box, which is its own decommission problem orders of magnitude bigger than this CVE — route it into your legacy-OS retirement track, not your patch queue. Net work: one scan-policy exception ticket, zero patches.

Sources

  1. Tenable plugin 17695
  2. NVD CVE-2007-6514
  3. Red Hat solution 472693
  4. Trend Micro Threat Encyclopedia entry
  5. Vulners NASL record
  6. CISA KEV catalog (for negative confirmation)
  7. Linux kernel smbfs removal history
  8. CWE-200
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.