[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"repo-stars":3,"vuln-UBUNTU-CVE-2026-23950":6},{"stargazers_count":4,"fetched_at":5},7,"2026-08-01T00:21:03.480Z",{"id":7,"descriptions":8,"cisa":9,"weaknesses":10,"exploits":11,"aliases":12,"duplicate_of":9,"upstream":13,"downstream":16,"duplicates":17,"related":18,"reserved_at":9,"published_at":19,"modified_at":20,"state":9,"summary":21,"references_raw":23,"kevs":42,"epss":9,"epss_history":43,"metrics":44,"affected":50},"UBUNTU-CVE-2026-23950","node-tar,a Tar for Node.js, has a race condition vulnerability in versions up to and including 7.5.3. This is due to an incomplete handling of Unicode path collisions in the `path-reservations` system. On case-insensitive or normalization-insensitive filesystems (such as macOS APFS, In which it has been tested), the library fails to lock colliding paths (e.g., `ß` and `ss`), allowing them to be processed in parallel. This bypasses the library's internal concurrency safeguards and permits Symlink Poisoning attacks via race conditions. The library uses a `PathReservations` system to ensure that metadata checks and file operations for the same path are serialized. This prevents race conditions where one entry might clobber another concurrently. This is a Race Condition which enables Arbitrary File Overwrite. This vulnerability affects users and systems using node-tar on macOS (APFS/HFS+). Because of using `NFD` Unicode normalization (in which `ß` and `ss` are different), conflicting paths do not have their order properly preserved under filesystems that ignore Unicode normalization (e.g., APFS (in which `ß` causes an inode collision with `ss`)). This enables an attacker to circumvent internal parallelization locks (`PathReservations`) using conflicting filenames within a malicious tar archive. The patch in version 7.5.4 updates `path-reservations.js` to use a normalization form that matches the target filesystem's behavior (e.g., `NFKD`), followed by first `toLocaleLowerCase('en')` and then `toLocaleUpperCase('en')`. As a workaround, users who cannot upgrade promptly, and who are programmatically using `node-tar` to extract arbitrary tarball data should filter out all `SymbolicLink` entries (as npm does) to defend against arbitrary file writes via this file system entry name collision issue.",null,[],[],[],[14],{"_key":15},"CVE-2026-23950",[],[],[],"2026-01-20T01:15:00Z","2026-07-20T16:19:04.570662900Z",{"cisa_kev":22,"cisa_ransomware":22,"cisa_vendor":9,"epss_severity":9,"epss_score":9,"severity":9,"severity_score":9,"severity_version":9,"severity_source":9,"severity_vector":9,"severity_status":9},false,[24,30,34,38],{"url":25,"sources":26,"tags":28},"https://ubuntu.com/security/CVE-2026-23950",[27],"osv_ubuntu",[29],"REPORT",{"url":31,"sources":32,"tags":33},"https://www.cve.org/CVERecord?id=CVE-2026-23950",[27],[29],{"url":35,"sources":36,"tags":37},"https://github.com/isaacs/node-tar/security/advisories/GHSA-r6q2-hw4h-h46w",[27],[29],{"url":39,"sources":40,"tags":41},"https://github.com/isaacs/node-tar/commit/3b1abfae650056edfabcbe0a0df5954d390521e6",[27],[29],[],[],[45],{"source":27,"cvss_v2_0":9,"cvss_v3_0":9,"cvss_v3_1":46,"cvss_v4_0":9},{"baseScore":47,"baseSeverity":9,"vectorString":48,"impactScore":47,"exploitabilityScore":49},8.8,"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L",7.2,[51],{"ecosystem":52,"name":53,"vendor":54,"product":53,"cpe_part":9,"purl_type":55,"purl_namespace":54,"purl_name":53,"source":9,"versions":56},"Ubuntu","node-tar","ubuntu","deb",[57,61,62,63,64,65],{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},"all",true,"ecosystem",{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9},{"version":58,"is_range":59,"range_type":60,"version_start":9,"version_start_type":9,"version_end":9,"version_end_type":9,"fixed_in":9}]