Skip to main content

Cornac EUVDEUVD-2026-44669

| CVE-2026-43637 HIGH
Path Traversal (CWE-22)
2026-07-15 VulnCheck GHSA-rrh3-cwwj-g5mg
8.8
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.8 MEDIUM

Attacker must interpose on or supply the downloaded archive (AC:H) and the victim must invoke a dataset loader (UI:R); arbitrary file write gives I:H/A:H with no direct confidentiality loss (C:N).

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 15, 2026 - 14:31 vuln.today
Analysis Generated
Jul 15, 2026 - 14:31 vuln.today
CVE Published
Jul 15, 2026 - 13:54 cve.org
HIGH 8.8

DescriptionCVE.org

Cornac before 2.6.0 contains a path traversal (Tar Slip) vulnerability that allows attackers to write arbitrary files outside the intended cache directory by supplying a crafted TAR archive containing ../ sequences, absolute paths, or symlink/hardlink entries to the _extract_archive() function in cornac/utils/download.py. Attackers can trigger this vulnerability through the built-in dataset loaders, which automatically download and extract archives, causing archive.extractall() to write files to arbitrary locations on the filesystem accessible to the running process.

AnalysisAI

Arbitrary file write in Cornac's dataset-download utility (all versions before 2.6.0) lets an attacker who controls a downloaded TAR archive place files anywhere the Python process can write, because the _extract_archive() helper in cornac/utils/download.py calls archive.extractall() without validating member paths. Since Cornac's built-in dataset loaders automatically fetch and unpack archives, a poisoned or MITM'd dataset archive containing ../ traversal, absolute paths, or symlink/hardlink entries can overwrite sensitive files and potentially achieve code execution. VulnCheck reported the issue; no public exploit identified at time of analysis and it is not in CISA KEV.

Technical ContextAI

Cornac is an open-source Python framework from Preferred.AI for comparative and multimodal recommender-systems research (CPE cpe:2.3:a:preferredai:cornac). The flaw is a classic 'Tar Slip' - a CWE-22 path traversal specific to archive extraction. Python's tarfile/zipfile extractall() blindly honors the path stored in each archive member, so entries like ../../etc/cron.d/x, /root/.ssh/authorized_keys, or a symlink pointing outside the target directory are written to their declared destination rather than being confined to the intended cache directory. Cornac's download.py used extractall() with no per-member path canonicalization or symlink filtering, and its dataset loaders invoke this path automatically as part of fetching benchmark datasets, so the unsafe extraction runs without an explicit user 'extract this untrusted file' action.

RemediationAI

Vendor-released patch: upgrade Cornac to 2.6.0 or later (pip install --upgrade cornac), which the 2.6.0 release notes describe as 'Fix CWE-22 path traversal (Tar Slip) in dataset archive extraction' (PR #709, commit 8a50be72). Until you can upgrade, avoid loading datasets from untrusted or third-party archive URLs and only fetch from sources you control over TLS to prevent tampering; if you must extract untrusted archives, do it in a disposable sandbox/container with a low-privilege user and no write access outside a scratch directory so a traversal write cannot reach sensitive paths, accepting the trade-off of added pipeline complexity. You can also pin and integrity-check (hash-verify) downloaded dataset archives before extraction to detect substituted payloads. See the VulnCheck advisory (https://www.vulncheck.com/advisories/cornac-path-traversal-via-extract-archive-in-download-py) and the GitHub release for authoritative details.

Share

EUVD-2026-44669 vulnerability details – vuln.today

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