Skip to content

Don't confirm CVE-2021-39275 from a WordPress fonts stylesheet - #42

Draft
cursor[bot] wants to merge 1 commit into
mainfrom
fix/cve-2021-39275-winini-false-confirm
Draft

cursor[bot] wants to merge 1 commit into
mainfrom
fix/cve-2021-39275-winini-false-confirm

Conversation

@cursor

@cursor cursor Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

The verifier builtin for CVE-2021-39275 sent GET /%5c..%5c..%5c../windows/win.ini and treated HTTP 200 plus the substring fonts (or extensions) as proof of Apache's ap_escape_quotes heap overflow.

That CVE is a memory-corruption bug, not a file read. On a typical Apache + WordPress host (Ubuntu 20.04's Apache 2.4.41 is in range), permalinks rewrite the path to index.php and default themes put fonts in stylesheet ids / Google Fonts links. run_test then sets probe_confirmed=True and fusion pins a CRITICAL.

Fix

  • Drop the builtin.
  • Add CVE-2021-39275 to an HTTP-untestable skip list so the AI planner and Phase 2 reverify cannot reinvent the same probe.

Validation

  • New test: WordPress-like 200 with twenty-twenty-fonts-css no longer produces a plan (builtin or AI), while the old plan still documents the false positive if it were sent.
  • python3 -m pytest test_verifier_sanitize.py test_fusion.py test_fusion_engine_bridge.py test_hardening.py -q — 74 passed.
Open in Web View Automation 

The builtin treated GET /%5c..win.ini 200 plus the substring "fonts" as
proof of the ap_escape_quotes overflow. WordPress permalinks rewrite that
path to index.php, and default themes put "fonts" in stylesheet ids, so
fusion pinned a CRITICAL on ordinary Apache+WordPress hosts.

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