Bug 2499747

Summary: CVE-2026-39246 yarnpkg: decompress: arbitrary symlink creation during archive extraction leads to information disclosure [fedora-all]
Product: [Fedora] Fedora Reporter: jkelly <jkelly>
Component: yarnpkgAssignee: Orphan Owner <extras-orphan>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 45CC: epel-packagers-sig, ngompa13
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["9d8f807a-648d-4899-94c0-dde7b93f6bec"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2498840    

Description jkelly 2026-07-13 18:02:14 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

decompress before 4.2.2 allows arbitrary symlink creation during archive extraction. When processing symlink entries (type === 'symlink'), the x.linkname field from the archive is passed directly to fs.symlink() without validation (index.js line 121). The preventWritingThroughSymlink check on line 98 only applies to file entries, not symlink creation. An attacker can craft an archive with symlink entries pointing to sensitive files outside the extraction directory (e.g., /etc/passwd), enabling information disclosure when the application reads the extracted contents.

Comment 1 Fedora Admin user for bugzilla script actions 2026-07-29 07:51:29 UTC
This package has changed maintainer in Fedora. Reassigning to the new maintainer of this component.

Comment 2 Aoife Moloney 2026-08-17 15:19:14 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 45 development cycle.
Changing version to 45.