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-2020-29651

CVE-2020-29651: Pytest Py DOS Vulnerability

CVE-2020-29651 is a denial of service vulnerability in Pytest Py caused by a regular expression flaw in py.path.svnwc. Attackers can exploit this to cause compute-time DOS attacks. This article covers technical details, affected versions, impact, and mitigation strategies.

Published: March 4, 2026

CVE-2020-29651 Overview

A denial of service vulnerability exists in the py.path.svnwc component of py (also known as python-py) through version 1.9.0. This Regular Expression Denial of Service (ReDoS) vulnerability allows attackers to cause a compute-time denial of service attack by supplying malicious input to the blame functionality. The vulnerability exploits inefficient regular expression patterns that can lead to catastrophic backtracking when processing specially crafted input.

Critical Impact

Attackers can exploit this ReDoS vulnerability to cause service disruptions by forcing excessive CPU consumption when the vulnerable blame functionality processes malicious input, potentially rendering affected applications unresponsive.

Affected Products

  • pytest py (through version 1.9.0)
  • Fedora 32 and Fedora 33
  • Oracle ZFS Storage Appliance Kit 8.8

Discovery Timeline

  • 2020-12-09 - CVE CVE-2020-29651 published to NVD
  • 2025-11-03 - Last updated in NVD database

Technical Details for CVE-2020-29651

Vulnerability Analysis

This vulnerability is a Regular Expression Denial of Service (ReDoS) that affects the py.path.svnwc component in the py library. The root issue lies in the blame functionality, which uses regular expressions to parse SVN blame output. When processing specially crafted input strings, the regex engine enters a state of catastrophic backtracking, consuming excessive CPU cycles and potentially hanging the application.

ReDoS vulnerabilities occur when a regular expression contains constructs that allow multiple matching paths for certain inputs. An attacker can supply input that forces the regex engine to explore an exponentially growing number of possibilities, effectively creating an algorithmic complexity attack. This vulnerability is exploitable over the network without requiring authentication or user interaction, allowing remote attackers to trigger the denial of service condition.

Root Cause

The vulnerability stems from inefficient regular expression patterns within the py.path.svnwc module's blame functionality. The regex patterns used to parse SVN blame output contain constructs susceptible to catastrophic backtracking. When malformed or malicious input is provided, the regex engine cannot efficiently determine a match or non-match, leading to exponential time complexity in processing. The specific issue was addressed in GitHub Pull Request #257.

Attack Vector

The attack vector is network-based, requiring no privileges or user interaction. An attacker can exploit this vulnerability by providing crafted input to any application that uses the py library's SVN working copy blame functionality. The malicious input triggers catastrophic backtracking in the regular expression engine, causing the target system's CPU to spike and potentially rendering the application unresponsive.

The attack does not require authentication, and the attacker does not need any special privileges on the target system. Any application that processes untrusted input through the vulnerable py.path.svnwc.blame() functionality is susceptible to this denial of service attack. For technical details on the vulnerability and its fix, see GitHub Issue #256.

Detection Methods for CVE-2020-29651

Indicators of Compromise

  • Unusual CPU spikes on systems running applications that use the py library
  • Application processes consuming 100% CPU for extended periods when processing SVN-related operations
  • Service timeouts or unresponsive applications that utilize py.path.svnwc functionality
  • Repeated requests to endpoints that trigger blame functionality with unusually long or malformed input

Detection Strategies

  • Monitor application performance metrics for abnormal CPU utilization patterns associated with Python processes
  • Implement request timeout monitoring to detect hanging requests that may indicate ReDoS exploitation attempts
  • Deploy input validation rules to flag requests containing suspiciously long strings or repeated patterns targeting blame functionality
  • Use static code analysis tools to identify usage of vulnerable py library versions in your codebase

Monitoring Recommendations

  • Enable detailed logging for applications using the py library to capture input patterns that may indicate exploitation attempts
  • Configure alerting thresholds for CPU utilization spikes in containerized or virtualized Python application environments
  • Monitor application response times and set baseline thresholds to detect degradation caused by ReDoS attacks
  • Review dependency inventories regularly to ensure vulnerable versions of the py library are identified and tracked

How to Mitigate CVE-2020-29651

Immediate Actions Required

  • Update the py library to a patched version that addresses the ReDoS vulnerability
  • Review your application's dependencies to identify all instances where the vulnerable py library is used
  • Implement input validation and length limits on any data that may be processed by the py.path.svnwc module
  • Consider implementing request timeouts at the application level to prevent long-running regex operations from consuming resources

Patch Information

The vulnerability has been addressed by the pytest development team. The fix is available in GitHub commit 4a9017d, which modifies the problematic regular expression patterns to prevent catastrophic backtracking. Organizations should upgrade to a patched version of the py library that includes this fix. Additional security advisories have been released by Fedora, Oracle, and Debian LTS.

Workarounds

  • Implement input length restrictions on data processed by the vulnerable component to limit the potential for catastrophic backtracking
  • Add request timeouts at the web server or application layer to terminate requests that take excessive processing time
  • If the SVN working copy functionality is not required, consider disabling or removing the py.path.svnwc component from your deployment
  • Deploy web application firewall rules to filter input containing patterns known to trigger ReDoS conditions
bash
# Upgrade py library to patched version
pip install --upgrade py

# Verify installed version
pip show py | grep Version

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

  • Vulnerability Details
  • TypeDOS

  • Vendor/TechPytest

  • SeverityHIGH

  • CVSS Score7.5

  • EPSS Probability0.78%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • NVD-CWE-Other
  • Technical References
  • GitHub Issue #256

  • GitHub Pull Request #257

  • Fedora Package Announcement

  • Fedora Package Announcement

  • Oracle Security Alert July 2022

  • Debian LTS Announcement November 2024
  • Vendor Resources
  • GitHub Commit #4a9017d
  • Related CVEs
  • CVE-2022-42969: Pytest Py Library DOS Vulnerability

  • CVE-2025-71176: pytest Privilege Escalation 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