Skip to main content

HuggingFace Datasets EUVDEUVD-2026-48361

| CVE-2026-65010 MEDIUM
UNIX Symbolic Link (Symlink) Following (CWE-61)
2026-07-23 VulnCheck GHSA-5cm7-hhj8-4m75
4.4
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Gain local account on shared system
  2. Delivery
    Identify writable shared HuggingFace cache directory
  3. Exploit
    Predict extraction output path from dataset name/version
  4. Install
    Pre-plant symlink at output path targeting sensitive file
  5. C2
    Wait for privileged process to trigger Extractor.extract()
  6. Execute
    Library follows symlink without check
  7. Impact
    Sensitive file overwritten enabling privilege escalation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling UNIX symlink resolution
Exploitation Conditions

Exploitation requires the attacker to hold a local system account with write access to the HuggingFace Datasets cache directory used by the target process - not merely read access. The critical enabling condition is a shared-cache topology: the same cache directory must be writable by the attacker and subsequently read/written by a higher-privileged user or automated service that triggers Extractor.extract(). This is common in HPC clusters, shared ML platforms, and CI/CD runners with shared NFS or volume mounts, but not present in single-user workstations or containers with per-user ephemeral cache paths. The attacker must also be able to predict the extraction output path before the extraction runs to successfully pre-plant the symlink; predictable or enumerable path naming (dataset name plus version hash) satisfies this. Passive user interaction (CVSS 4.0 UI:P) is required - a legitimate extraction job must be triggered by the victim process. Exploitation is blocked by per-user cache directory permissions (mode 700), isolated container filesystems, and the patched symlink-unlink guard in commit ad2d853.

Impact

The CVSS 4.0 score of 4.4 with vector AV:L/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N reflects the primary risk moderators: local filesystem access is required, specific attack preconditions must be met (AT:P - shared-cache topology and predictable extraction output paths), and passive user interaction is needed (a legitimate extraction must be triggered). The high integrity and availability impacts on the vulnerable system are accurate given that arbitrary file overwrite is achievable. The publicly available POC meaningfully raises practical risk beyond what the moderate base score implies, particularly in multi-user ML infrastructure. No CISA KEV listing exists for this CVE and EPSS data was not provided, so exploitation breadth cannot be quantified. Real-world risk is concentrated in shared HPC clusters, containerized training pipelines with shared volume mounts, and automated data-processing services running as privileged users - in those contexts, this should be treated as higher priority than the 4.4 score suggests. In single-user workstations or properly isolated containers, risk is negligible. No conflicting data signals were identified; the CVSS vector is consistent with the described local symlink attack.

Exploit ScenarioDerived

A low-privileged attacker on a shared ML training cluster identifies that a privileged data-ingestion service periodically calls Extractor.extract() using a cache directory writable by all cluster users. The attacker pre-plants a symlink at the predictable extraction output path pointing to /etc/cron.d/rootjob, then waits for the service to trigger its next scheduled dataset pull. When Extractor.extract() runs without the symlink check, archive contents are written through the symlink to the cron directory, injecting a root-level cron job. A public exploit demonstrating this path-redirection technique is available at https://github.com/huggingface/datasets/issues/8296.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 23, 2026

Symlink following in HuggingFace Datasets through version 5.00 allows local low-privileged attackers to redirect archive extraction to arbitrary filesystem locations by pre-planting symlinks at predictable output paths in the shared cache directory. When a higher-privileged user or automated service subsequently triggers Extractor.extract(), the library writes archive contents through the attacker-controlled symlink, enabling overwrite of sensitive system files and potential privilege escalation or code execution. A publicly available exploit exists and an upstream fix is available via commit ad2d853, though no confirmed tagged release version has been independently verified.

RemediationAI

The upstream fix is available via commit ad2d853ae2ce41d8068c23b44c2e29004312ccee (https://github.com/huggingface/datasets/commit/ad2d853ae2ce41d8068c23b44c2e29004312ccee), merged through pull request #8303 (https://github.com/huggingface/datasets/pull/8303). Upgrade to a release of the datasets package that includes this commit; verify by checking that the installed version's extract.py contains the os.path.islink() guard before writing output paths. No specific tagged release version has been independently confirmed, so review the package changelog or pin to a commit at or after ad2d853. As a compensating control pending upgrade, restrict write permissions on the HuggingFace cache directory so only the owning user can write (chmod 700 ~/.cache/huggingface/datasets) - this prevents co-resident attackers from pre-planting symlinks, but breaks collaborative cache sharing in multi-user setups. In containerized environments, avoid mounting shared writable volumes to cache directories accessible by processes running at different privilege levels; use per-user or per-job ephemeral cache paths instead.

Affected VersionsENISA

datasets 0 ≤5.00

Affected Packages

euvd datasets no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the Extractor.extract() method within src/datasets/utils/extract.py of the HuggingFace Datasets Python library (CPE: cpe:2.3:a:huggingface:datasets:*:*:*:*:*:*:*:*), affecting all releases through 5.00. CWE-61 (UNIX Symbolic Link Following) describes the root cause: the extractor writes decompressed archive contents to output paths without first verifying whether those paths resolve through attacker-controlled symlinks. The shared HuggingFace cache directory (~/.cache/huggingface/datasets) is frequently mounted on shared filesystems in HPC clusters, multi-user ML training environments, and CI/CD pipelines, giving co-resident unprivileged users write access to cache paths that privileged processes also consume. The fix in commit ad2d853 adds two lines to the extraction logic: if the output path is a symlink (os.path.islink(output_path)), it is unlinked before writing proceeds, neutralizing the redirection.

Know when Datasets gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 4.4 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.0 MEDIUM

Local access and pre-planted symlink setup require AC:H; low-privilege local account needed (PR:L); victim must trigger extraction (UI:R); no confidentiality impact; scope unchanged per CVSS 4.0 SC/SI/SA:N signals.

3.1 AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 6.6 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Datasets through 5.00, fixed in commit ad2d853, contains a symlink-following vulnerability in Extractor.extract() that allows local attackers to write arbitrary files by pre-planting symlinks at predictable output paths. Attackers can redirect archive extraction to arbitrary filesystem locations in shared-cache environments, enabling overwrite of sensitive files and potential privilege escalation or code execution.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
widely used ML data library across research and production AI pipelines
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy