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-2024-28103

CVE-2024-28103: Rails Action Pack Policy Header Vulnerability

CVE-2024-28103 is a security flaw in Rails Action Pack where Permissions-Policy headers only apply to HTML responses since version 6.1.0. This article covers the technical details, affected versions, and mitigation steps.

Updated: January 22, 2026

CVE-2024-28103 Overview

CVE-2024-28103 is a critical input validation vulnerability affecting Ruby on Rails Action Pack framework. Since version 6.1.0, the application configurable Permissions-Policy HTTP header is only served on responses with an HTML related Content-Type. This means that non-HTML responses (such as JSON, XML, or other content types) do not receive the Permissions-Policy header, potentially allowing attackers to bypass security policies that should be enforced across all response types.

Critical Impact

Applications relying on Permissions-Policy to restrict browser features may be vulnerable to policy bypass attacks on non-HTML endpoints, potentially enabling unauthorized access to sensitive browser APIs and features.

Affected Products

  • Ruby on Rails versions 6.1.0 to 6.1.7.7
  • Ruby on Rails versions 7.0.0 to 7.0.8.1
  • Ruby on Rails versions 7.1.0 to 7.1.3.2
  • Ruby on Rails version 7.2.0-beta1

Discovery Timeline

  • June 4, 2024 - CVE-2024-28103 published to NVD
  • December 6, 2024 - Last updated in NVD database

Technical Details for CVE-2024-28103

Vulnerability Analysis

The vulnerability exists in Action Pack's handling of the Permissions-Policy HTTP response header. The Permissions-Policy header is a security mechanism that allows web applications to control which browser features and APIs can be used in the browser. This includes features like geolocation, camera, microphone, payment APIs, and other sensitive browser capabilities.

The root issue is that Rails incorrectly restricts the application of this security header to only HTML responses. In modern web applications, APIs often return JSON, XML, or other content types that may still be processed by browsers in contexts where the Permissions-Policy should apply. By targeting non-HTML endpoints, attackers may be able to bypass these security restrictions.

Root Cause

The vulnerability stems from improper input validation (CWE-20) in the response handling logic. The Action Pack framework implemented conditional logic that checks the Content-Type of the response before applying the Permissions-Policy header. This design decision failed to account for scenarios where non-HTML responses might still be subject to browser feature restrictions, creating an inconsistent security posture across different endpoint types.

Attack Vector

The attack can be performed over the network without authentication or user interaction. An attacker could exploit this vulnerability by:

  1. Identifying API endpoints in a Rails application that return non-HTML content types (JSON, XML, etc.)
  2. Crafting requests to these endpoints that would normally be restricted by the Permissions-Policy
  3. Leveraging the missing policy header to access browser features that should be blocked

The vulnerability affects applications where the Permissions-Policy is critical to the security model. Since the policy is not applied to non-HTML responses, any application logic that relies on this header for security enforcement on all endpoints is vulnerable to bypass.

Detection Methods for CVE-2024-28103

Indicators of Compromise

  • HTTP responses with non-HTML Content-Type headers missing the Permissions-Policy header
  • Unexpected browser API access from API endpoints that should be restricted
  • Web application logs showing requests to JSON/XML endpoints attempting to access restricted features
  • Browser console warnings about feature policy violations being absent where expected

Detection Strategies

  • Audit HTTP response headers across all endpoints to verify Permissions-Policy consistency
  • Implement automated security testing that validates header presence on non-HTML responses
  • Monitor application logs for unusual patterns of API requests that may indicate policy bypass attempts
  • Use browser developer tools or security scanners to verify header presence across content types

Monitoring Recommendations

  • Enable comprehensive HTTP header logging for all application responses
  • Set up alerts for anomalous access patterns to sensitive browser APIs
  • Implement regular security scans that check for missing security headers across all endpoints
  • Monitor for exploitation attempts targeting API endpoints with sensitive functionality

How to Mitigate CVE-2024-28103

Immediate Actions Required

  • Upgrade Ruby on Rails to version 6.1.7.8, 7.0.8.2, or 7.1.3.3 immediately
  • Review application security model to identify endpoints relying on Permissions-Policy
  • Audit all non-HTML endpoints for proper security header enforcement
  • Consider implementing additional security controls at the reverse proxy or WAF level

Patch Information

Ruby on Rails has released patched versions that address this vulnerability. The fix ensures the Permissions-Policy header is served consistently regardless of Content-Type. Administrators should upgrade to the following fixed versions:

  • Rails 6.1.x: Upgrade to 6.1.7.8 or later
  • Rails 7.0.x: Upgrade to 7.0.8.2 or later
  • Rails 7.1.x: Upgrade to 7.1.3.3 or later

The official patch can be reviewed in the GitHub commit. Additional details are available in the GitHub Security Advisory.

Workarounds

  • Implement Permissions-Policy headers at the reverse proxy or load balancer level to ensure consistent enforcement
  • Add custom middleware to manually inject Permissions-Policy headers for all response types
  • Configure web application firewall rules to add missing security headers
  • Use Rack middleware to enforce header presence regardless of Content-Type
bash
# Example Nginx configuration to add Permissions-Policy header
# Add to server or location block

add_header Permissions-Policy "geolocation=(), camera=(), microphone=()" always;

# The 'always' directive ensures the header is added regardless of response status

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

  • Vulnerability Details
  • TypeOther

  • Vendor/TechRubyonrails

  • SeverityCRITICAL

  • CVSS Score9.8

  • EPSS Probability0.83%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • CWE-20

  • NVD-CWE-noinfo
  • Technical References
  • NetApp Security Advisory
  • Vendor Resources
  • GitHub Commit Update

  • GitHub Security Advisory
  • Related CVEs
  • CVE-2021-22942: Rails Open Redirect Vulnerability

  • CVE-2026-33169: Ruby on Rails Active Support DoS Vulnerability

  • CVE-2026-33170: Ruby on Rails Active Support XSS Vulnerability

  • CVE-2026-33173: Rails Active Storage Auth Bypass Flaw
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