Skip to content

Don't confirm CVE-2019-0211 from an Apache 403 page - #41

Draft
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-management-a74c
Draft

cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-management-a74c

Conversation

@cursor

@cursor cursor Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Bug and impact

The CVE verifier builtin for CVE-2019-0211 (Apache prefork/worker scoreboard local privilege escalation, CVSS 7.8) sent GET /server-status and treated HTTP 403 plus the substring apache as probe confirmation.

A default Apache 403 page includes <address>Apache/2.4.x (Ubuntu) Server at …</address>. Fusion maps a successful verifier signal to probe_confirmed and the gate pins it as un-droppable. An --ai / --full scan of Apache 2.4.17–2.4.38 therefore reported a confirmed LPE that was never tested.

mod_status exposure is already a MEDIUM service_prober finding when the body actually contains scoreboard markers. It does not prove CVE-2019-0211.

Trigger: --ai / --full with an AI completer against Apache/2.4.29 (or any 2.4.17–2.4.38 banner). NVD correlates CVE-2019-0211. Verifier GET /server-status → default 403 footer containing Apache → fusion-confirmed.

Root cause

The builtin used expected_status: [200, 403] and expected_body_patterns: ["apache", "server-status"]. 403 is access denied, not evidence of the scoreboard race. The word Apache is on every stock error page.

Fix

  • Drop the CVE-2019-0211 builtin.
  • Skip the CVE in generate_plans_for_cves and reverify_with_context so an AI completer cannot reinvent the same probe.

Validation

python3 -m pytest test_verifier_sanitize.py test_fusion.py test_fusion_engine_bridge.py test_gate_version_cap.py -q — 60 passed.

python3 -m bandit -r src/verifier/planner.py --severity-level high — no high issues.

New case: default Apache 403 on /server-status no longer yields a plan (builtin or AI); a leftover plan against that 403 still matches, which is why generation is skipped.

Open in Web View Automation 

CVE-2019-0211 is a local prefork/worker scoreboard LPE. The verifier
builtin treated GET /server-status 403 plus the word "Apache" (present
in the default error-page footer) as probe confirmation, and fusion
pinned it. Skip the CVE as not HTTP-testable, including AI re-plans.

Co-authored-by: dmitryflynn <dmitryflynn@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant