The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-21876

CVE-2026-21876: OWASP CRS Multipart Detection Vulnerability

CVE-2026-21876 is a detection bypass flaw in OWASP Core Rule Set that allows malicious charsets in multipart requests to evade detection. This article covers the technical details, affected versions, and patches.

Updated: January 22, 2026

CVE-2026-21876 Overview

CVE-2026-21876 is a critical security bypass vulnerability in the OWASP Core Rule Set (CRS), a widely-used set of generic attack detection rules for web application firewalls. The vulnerability exists in rule 922110, which fails to properly process multipart requests containing multiple parts. When the first rule in a chain iterates over a collection (like MULTIPART_PART_HEADERS), capture variables (TX:0, TX:1) are overwritten with each iteration. This means only the last captured value is available to the chained rule, allowing malicious charsets in earlier parts to evade detection if a later part contains a legitimate charset.

Critical Impact

Attackers can bypass web application firewall protections by crafting multipart requests with malicious content in earlier parts, followed by legitimate content in later parts, effectively evading security detection.

Affected Products

  • OWASP Core Rule Set versions prior to 4.22.0
  • OWASP Core Rule Set versions prior to 3.3.8
  • Compatible web application firewalls using vulnerable CRS versions (ModSecurity, Coraza, etc.)

Discovery Timeline

  • January 8, 2026 - CVE-2026-21876 published to NVD
  • January 8, 2026 - Last updated in NVD database

Technical Details for CVE-2026-21876

Vulnerability Analysis

This vulnerability is classified as CWE-794 (Incomplete Filtering of Multiple Instances of Special Elements), which accurately describes the root cause. The OWASP CRS rule 922110 is designed to validate charsets in multipart request headers, ensuring that only approved character encodings are used. However, the implementation contains a logic flaw in how it processes collections during rule chain iteration.

When processing multipart requests, ModSecurity rules iterate over the MULTIPART_PART_HEADERS collection to examine each part's Content-Type header. The capture mechanism stores matched values in transaction variables (TX:0, TX:1, etc.). The critical flaw is that these capture variables are global within the rule chain context—each iteration overwrites the previous capture. Consequently, when the chained rule executes its validation logic, it only sees the capture from the final iteration, completely missing any malicious content in preceding parts.

Root Cause

The root cause is the improper handling of captured regex values when iterating over collections in chained rules. The original rule design assumed that capture variables would be evaluated independently for each collection element. In reality, the ModSecurity engine overwrites capture variables with each iteration, and the chained rule only receives the last captured value. This is a fundamental misunderstanding of how the ModSecurity rule engine processes collections in conjunction with capture groups and rule chaining.

Attack Vector

An attacker can exploit this vulnerability by sending a multipart HTTP request where malicious charset specifications are placed in earlier parts of the request body, followed by a final part containing a legitimate charset. The attack requires network access to any web application protected by a vulnerable OWASP CRS installation. No authentication is required, and no user interaction is needed. The attacker crafts a multipart request with multiple Content-Type headers—earlier parts may contain dangerous charsets like utf-7 or other encodings that could enable further attacks, while the final part uses an allowed charset like utf-8. The WAF only validates the last charset and allows the entire request through.

The following patches from the CRS repository demonstrate the fix:

text
# Security patch from rules/REQUEST-922-MULTIPART-ATTACK.conf
# Source: https://github.com/coreruleset/coreruleset/commit/80d80473abf71bd49bf6d3c1ab221e3c74e4eb83

 # Only allow specific charsets same as Rule 920600
 # Note: this is in phase:2 because these are headers that come in the body
-SecRule MULTIPART_PART_HEADERS "@rx ^content-type\s*+:\s*+(.*)$" \
+#
+# How do these rules work:
+# * rule 922140 sets the multipart counter TX variable to 0
+#   note that this is why does not matter if more parts have the same name - see rule's test
+# * rule 922150 collects all multipart headers' 'Content-Type' value
+#   eg. 'text/plain; charset=utf-8'
+# * rule 922110 checks all the collected headers' content type and charset
+SecRule &MULTIPART_PART_HEADERS "@gt 0" \
+    "id:922140,\
+    phase:2,\
+    pass,\
+    t:none,\
+    nolog,\
+    tag:'OWASP_CRS',\
+    ver:'OWASP_CRS/3.3.7',\
+    setvar:'tx.multipart_headers_content_counter=0'"
+
+SecRule MULTIPART_PART_HEADERS "@rx ^content-type\s*:\s*(.*)$" \
+    "id:922150,\
+    phase:2,\
+    pass,\
+    capture,\
+    t:none,t:lowercase,\
+    nolog,\
+    tag:'OWASP_CRS',\
+    ver:'OWASP_CRS/3.3.7',\

The fix introduces a two-stage approach: rule 922140 initializes a counter variable, and rule 922150 collects all Content-Type values into indexed transaction variables, ensuring each multipart header is stored separately and can be validated individually by rule 922110.

Detection Methods for CVE-2026-21876

Indicators of Compromise

  • Multipart HTTP requests with unusual or varying charset specifications across different parts
  • Requests containing potentially dangerous charsets like utf-7, iso-2022-jp, or other non-standard encodings in non-final multipart sections
  • Increased volume of multipart requests with many boundary parts from single sources
  • WAF logs showing inconsistent charset detection patterns in multipart form submissions

Detection Strategies

  • Review WAF logs for multipart requests that contain multiple Content-Type headers with different charset values
  • Implement custom logging rules to capture all multipart part headers before rule chain processing occurs
  • Deploy network monitoring to identify multipart requests with anomalous structures or excessive parts
  • Compare WAF detection rates before and after patching to identify potential bypass attempts that previously succeeded

Monitoring Recommendations

  • Enable verbose logging on rules 922110, 922140, and 922150 to track multipart header processing
  • Monitor for sudden decreases in blocked requests related to charset violations, which may indicate bypass attempts
  • Implement alerting for multipart requests containing more than typical number of parts
  • Configure SentinelOne to correlate WAF bypass indicators with endpoint activity for comprehensive threat detection

How to Mitigate CVE-2026-21876

Immediate Actions Required

  • Upgrade OWASP Core Rule Set to version 4.22.0 or 3.3.8 immediately
  • Review recent WAF logs for multipart requests that may have bypassed charset validation
  • Consider temporarily increasing logging verbosity on multipart-related rules during the patching window
  • Audit any applications that process multipart uploads for potential secondary exploitation

Patch Information

OWASP has released patched versions that address this vulnerability. The fix restructures the rule chain to properly collect and validate all multipart Content-Type headers rather than relying on overwritten capture variables.

  • Version 4.22.0: Available at GitHub Release v4.22.0
  • Version 3.3.8: Available at GitHub Release v3.3.8

For additional technical details, refer to the GitHub Security Advisory GHSA-36fv-25j3-r2c5.

Workarounds

  • If immediate patching is not possible, consider implementing custom rules that explicitly validate charsets on all multipart parts before the chain executes
  • Deploy additional application-layer validation of Content-Type headers in multipart requests independent of WAF rules
  • Temporarily block or increase scrutiny on multipart requests with multiple parts from untrusted sources
  • Use SentinelOne's web application protection features to provide defense-in-depth while WAF rules are updated
bash
# Verify your current CRS version
cat /path/to/coreruleset/CHANGES | head -20

# Update CRS via git
cd /path/to/coreruleset
git fetch --tags
git checkout v4.22.0  # or v3.3.8 for 3.x branch

# Alternatively, download directly
wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v4.22.0.tar.gz
tar -xzf v4.22.0.tar.gz

# Restart your WAF service after updating
systemctl restart modsecurity  # or appropriate service command

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeOther

  • Vendor/TechOwasp

  • SeverityCRITICAL

  • CVSS Score9.3

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityNone
  • CWE References
  • CWE-794
  • Technical References
  • GitHub Commit Update

  • GitHub Commit Change

  • GitHub Release v3.3.8

  • GitHub Release v4.22.0

  • GitHub Security Advisory GHSA-36fv-25j3-r2c5
  • Latest CVEs
  • CVE-2025-70797: LimeSurvey XSS Vulnerability

  • CVE-2025-30650: Juniper Junos OS Auth Bypass Vulnerability

  • CVE-2026-35471: Goshs Path Traversal Vulnerability

  • CVE-2026-35393: Goshs Path Traversal Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English