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-2025-15036

CVE-2025-15036: MLflow Path Traversal Vulnerability

CVE-2025-15036 is a path traversal flaw in MLflow's extract_archive_to_dir function that allows attackers to overwrite files or escalate privileges. This article covers technical details, affected versions, and mitigation.

Published: April 2, 2026

CVE-2025-15036 Overview

A path traversal vulnerability exists in the extract_archive_to_dir function within the mlflow/pyfunc/dbconnect_artifact_cache.py file of the mlflow/mlflow repository. This vulnerability, present in versions before v3.7.0, arises due to the lack of validation of tar member paths during extraction. An attacker with control over the tar.gz file can exploit this issue to overwrite arbitrary files or gain elevated privileges, potentially escaping the sandbox directory in multi-tenant or shared cluster environments.

Critical Impact

Attackers can exploit this path traversal vulnerability to write arbitrary files outside the intended extraction directory, potentially leading to remote code execution, privilege escalation, or sandbox escape in shared cluster environments.

Affected Products

  • MLflow versions prior to v3.7.0
  • Systems using the dbconnect_artifact_cache module for artifact extraction
  • Multi-tenant or shared cluster environments running vulnerable MLflow instances

Discovery Timeline

  • 2026-03-30 - CVE CVE-2025-15036 published to NVD
  • 2026-03-30 - Last updated in NVD database

Technical Details for CVE-2025-15036

Vulnerability Analysis

This vulnerability is classified as CWE-29 (Path Traversal: '..\filename'), a critical weakness that allows attackers to access or overwrite files outside the intended directory structure. The vulnerable function extract_archive_to_dir processes tar.gz archive files without properly validating the paths of archived members before extraction.

When a user or automated process extracts a maliciously crafted tar archive, the attacker-controlled file paths can traverse out of the designated extraction directory using path manipulation techniques such as ../ sequences, absolute paths, or symbolic link exploitation. This is particularly dangerous in MLflow deployments where artifact caching is used in shared environments.

Root Cause

The root cause of this vulnerability is the absence of security checks on tar file members before extraction. The original implementation in dbconnect_artifact_cache.py extracted tar archives directly without verifying that:

  1. Member paths are not absolute (starting with /)
  2. Member paths do not escape the extraction directory using .. sequences
  3. Member paths do not traverse through symbolic links that could redirect writes to arbitrary locations

This missing validation allowed malicious tar files to specify destination paths outside the intended extraction sandbox.

Attack Vector

The attack vector is network-based, requiring user interaction to process a malicious tar.gz file. An attacker can craft a tar archive containing members with manipulated paths designed to escape the extraction directory. When this archive is processed by the vulnerable extract_archive_to_dir function, files are written to attacker-controlled locations on the filesystem.

In multi-tenant MLflow environments, this could allow:

  • Escaping container or sandbox boundaries
  • Overwriting configuration files to achieve code execution
  • Modifying other tenants' artifacts or data
  • Privilege escalation through overwriting system files
python
# Security patch - Added import for security check function
# Source: https://github.com/mlflow/mlflow/commit/3bf6d81ac4d38654c8ff012dbd0c3e9f17e7e346
 import tarfile
 
 from mlflow.utils.databricks_utils import is_in_databricks_runtime
-from mlflow.utils.file_utils import get_or_create_tmp_dir
+from mlflow.utils.file_utils import check_tarfile_security, get_or_create_tmp_dir
 
 _CACHE_MAP_FILE_NAME = "db_connect_artifact_cache.json"
python
# Security patch - New check_tarfile_security function implementation
# Source: https://github.com/mlflow/mlflow/commit/3bf6d81ac4d38654c8ff012dbd0c3e9f17e7e346
def check_tarfile_security(archive_path: str) -> None:
    """
    Check the tar file content.
    If its members contain any of the following paths:
     * An absolute path.
     * A relative path that escapes the extraction directory.
     * A relative path that goes through a symlink.
    then raise an error.
    """
    with tarfile.open(archive_path, "r") as tar:
        symlink_set = set()
        for m in tar.getmembers():
            path = posixpath.normpath(m.name)
            if m.issym():
                symlink_set.add(path)
            else:
                if path.startswith("/"):
                    raise MlflowException(
                        "Absolute path destination in the archive file is not allowed, "
                        f"but got path {path}."
                    )
                path_parts = path.split("/")
                if path_parts[0] == "..":
                    raise MlflowException(
                        "Escaped path destination in the archive file is not allowed, "

Detection Methods for CVE-2025-15036

Indicators of Compromise

  • Unexpected files appearing outside MLflow artifact cache directories
  • Tar archive extraction operations writing to system directories or parent paths
  • Modified configuration files or scripts in MLflow deployment directories
  • Evidence of symbolic link creation followed by tar extraction operations

Detection Strategies

  • Monitor file system activity during artifact cache operations for writes outside designated directories
  • Implement audit logging for tar archive extractions in MLflow environments
  • Review MLflow logs for extraction operations involving archives from untrusted sources
  • Deploy file integrity monitoring on critical system and configuration files

Monitoring Recommendations

  • Enable verbose logging for the dbconnect_artifact_cache module to track archive extraction activities
  • Configure alerts for file modifications in sensitive directories following MLflow artifact operations
  • Implement network monitoring to detect suspicious artifact uploads containing potential path traversal payloads
  • Regularly audit MLflow artifact storage for anomalous file patterns or unexpected symbolic links

How to Mitigate CVE-2025-15036

Immediate Actions Required

  • Upgrade MLflow to version v3.7.0 or later immediately
  • Audit existing artifact caches for any signs of exploitation or unexpected files
  • Review access controls on artifact upload functionality to limit exposure
  • Implement network segmentation to isolate MLflow services from sensitive systems

Patch Information

The vulnerability has been addressed in MLflow version v3.7.0. The fix introduces a new check_tarfile_security function in mlflow/utils/file_utils.py that validates all tar archive members before extraction. This function rejects archives containing:

  • Absolute paths
  • Relative paths that escape the extraction directory via .. sequences
  • Paths that traverse through symbolic links

For technical details on the patch, see the GitHub commit 3bf6d81 and the Huntr security bounty report.

Workarounds

  • If immediate upgrade is not possible, restrict artifact upload capabilities to trusted users only
  • Implement external archive validation before processing in MLflow pipelines
  • Deploy MLflow in isolated environments with limited filesystem access
  • Use read-only filesystem mounts for critical system directories in containerized deployments
bash
# Configuration example - Verify MLflow version and upgrade
pip show mlflow | grep Version
pip install --upgrade mlflow>=3.7.0

# Verify the patch is applied by checking for the security function
python -c "from mlflow.utils.file_utils import check_tarfile_security; print('Patch verified')"

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

  • Vulnerability Details
  • TypePath Traversal

  • Vendor/TechMlflow

  • SeverityCRITICAL

  • CVSS Score9.6

  • EPSS Probability0.05%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityHigh
  • AvailabilityHigh
  • CWE References
  • CWE-29
  • Technical References
  • GitHub Commit 3bf6d81

  • Huntr Security Bounty #36c314cf
  • Related CVEs
  • CVE-2025-15031: MLflow Path Traversal Vulnerability

  • CVE-2023-1177: Mlflow Path Traversal Vulnerability

  • CVE-2026-0596: MLflow Command Injection RCE Vulnerability

  • CVE-2025-15381: MLflow 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