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-2023-24329

CVE-2023-24329: Python urllib.parse Auth Bypass Flaw

CVE-2023-24329 is an authentication bypass flaw in Python's urllib.parse component that lets attackers evade blocklists using URLs with leading blank characters. This article covers technical details, affected versions, and patches.

Published: February 11, 2026

CVE-2023-24329 Overview

An issue in the urllib.parse component of Python before version 3.11.4 allows attackers to bypass blocklisting methods by supplying a URL that starts with blank characters. This improper input validation vulnerability affects applications that rely on Python's URL parsing functions to implement security controls such as SSRF protections or URL allowlisting/blocklisting mechanisms.

The vulnerability stems from how urllib.parse handles URLs with leading whitespace characters. When a URL begins with spaces, tabs, or other blank characters, the parsing functions fail to properly normalize the input before validation, allowing malicious URLs to evade security filters that would otherwise block them.

Critical Impact

Attackers can bypass URL-based security controls in Python applications, potentially enabling Server-Side Request Forgery (SSRF), access to internal resources, and circumvention of security policies designed to protect against malicious URLs.

Affected Products

  • Python (versions before 3.11.4)
  • Fedora 36, 37, and 38
  • NetApp Active IQ Unified Manager (VMware vSphere and Windows)
  • NetApp Management Services for Element Software
  • NetApp Management Services for NetApp HCI
  • NetApp ONTAP Select Deploy Administration Utility

Discovery Timeline

  • 2023-02-17 - CVE-2023-24329 published to NVD
  • 2025-11-03 - Last updated in NVD database

Technical Details for CVE-2023-24329

Vulnerability Analysis

The vulnerability exists in Python's urllib.parse module, which is responsible for parsing URLs into their component parts (scheme, netloc, path, query, fragment). When a URL containing leading whitespace characters is processed, the module does not strip or reject these characters before performing validation checks.

This behavior creates a significant security gap for applications that implement URL blocklists or allowlists. For example, if an application blocks requests to http://internal-server/, an attacker can bypass this restriction by prepending whitespace: http://internal-server/. The blocklist check fails to match the malicious URL due to the leading spaces, but when the URL is subsequently used for an actual HTTP request, many HTTP libraries strip the whitespace and successfully connect to the blocked destination.

The impact is particularly severe for applications implementing SSRF protections, as attackers can reach internal network resources, cloud metadata services, or other restricted endpoints that were meant to be blocked.

Root Cause

The root cause is improper input validation (CWE-20) in the urllib.parse component. The URL parsing functions do not normalize input by stripping leading whitespace characters before performing scheme detection and URL decomposition. This inconsistency between how the URL is validated versus how it is ultimately used creates a bypass condition.

When urlparse() or related functions receive a URL with leading blank characters, they may return an empty scheme or fail to properly identify the URL components, causing downstream validation logic to make incorrect security decisions.

Attack Vector

The attack is network-based and requires no authentication or user interaction. An attacker can exploit this vulnerability by:

  1. Identifying an application that uses urllib.parse for URL validation or blocklist enforcement
  2. Crafting a malicious URL with leading whitespace characters (spaces, tabs, newlines, etc.)
  3. Submitting the crafted URL through user-controlled input
  4. The malformed URL bypasses the security check but is later processed correctly by HTTP client libraries

This technique is particularly effective against SSRF protections where the application validates URLs before making outbound requests. The leading whitespace causes the validation to fail to identify the URL as malicious, but the subsequent HTTP request succeeds because the target library handles the whitespace differently.

Detection Methods for CVE-2023-24329

Indicators of Compromise

  • URL parameters or user inputs containing leading whitespace characters (spaces, tabs, \n, \r, \t)
  • Unexpected outbound connections to internal IP addresses or cloud metadata endpoints (e.g., 169.254.169.254)
  • Application logs showing URL validation passes followed by connections to blocklisted destinations
  • HTTP request logs with malformed or whitespace-prefixed URLs

Detection Strategies

  • Implement application-level logging that captures raw URL inputs before and after parsing to identify whitespace manipulation attempts
  • Deploy Web Application Firewall (WAF) rules to detect and block URLs with leading whitespace in request parameters
  • Monitor for anomalous outbound network connections from application servers, especially to RFC 1918 addresses or cloud metadata services
  • Review application code for usage of urllib.parse functions in security-critical URL validation paths

Monitoring Recommendations

  • Enable verbose logging for URL processing and validation functions in Python applications
  • Set up alerting for outbound connections to internal network ranges from public-facing application servers
  • Monitor for increased SSRF-related attack patterns in security information and event management (SIEM) systems
  • Track Python version deployments across infrastructure to identify unpatched systems

How to Mitigate CVE-2023-24329

Immediate Actions Required

  • Upgrade Python to version 3.11.4 or later where this vulnerability has been patched
  • Review and patch all applications using affected Python versions, including those running on Fedora or NetApp products
  • Implement additional input sanitization to strip whitespace from URLs before passing them to urllib.parse functions
  • Audit existing URL validation code to ensure defense-in-depth against similar bypass techniques

Patch Information

The Python Software Foundation addressed this vulnerability in Python 3.11.4 and backported fixes to supported maintenance branches. The fix ensures that leading whitespace characters are properly handled during URL parsing, preventing bypass of blocklist mechanisms.

For detailed patch information, refer to the GitHub Pull Request containing the fix. Additional technical analysis is available in the Pointer Null security research blog post.

Distribution-specific patches are available from:

  • Fedora Package Announcements
  • Debian LTS Announcements
  • NetApp Security Advisory

Workarounds

  • Strip all leading and trailing whitespace from URLs at the application level before passing them to urllib.parse functions using url.strip()
  • Implement additional validation using regular expressions to reject URLs with leading whitespace characters before processing
  • Use a defense-in-depth approach by validating the parsed URL components (scheme, netloc) separately and rejecting invalid or empty values
  • Consider using alternative URL parsing libraries that handle edge cases more securely until Python can be upgraded
bash
# Example: Stripping whitespace before URL parsing in Python
# Add this validation before calling urllib.parse functions
python3 -c "
from urllib.parse import urlparse
url = '   http://example.com'
clean_url = url.strip()
parsed = urlparse(clean_url)
print(f'Scheme: {parsed.scheme}, Netloc: {parsed.netloc}')
"

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

  • Vulnerability Details
  • TypeAuth Bypass

  • Vendor/TechPython

  • SeverityHIGH

  • CVSS Score7.5

  • EPSS Probability1.44%

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

  • Debian LTS Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Fedora Package Announcement

  • NetApp Security Advisory

  • CERT Vulnerability Database

  • Debian LTS Announcement

  • Debian LTS Announcement
  • Vendor Resources
  • GitHub Pull Request

  • Pointer Null Blog Post
  • Related CVEs
  • CVE-2023-27043: Python Email Auth Bypass Vulnerability

  • CVE-2021-29921: Python ipaddress Auth Bypass Vulnerability

  • CVE-2025-13462: Python tarfile Module Parsing Vulnerability

  • CVE-2026-2297: CPython Information Disclosure Vulnerability
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