nodejs:24 security update
エラータID: AXSA:2026-1566:01
Node.js is a software development platform for building fast and scalable network applications in the JavaScript programming language.
Security Fix(es):
* sqlite: SQLite: Arbitrary code execution via crafted FTS5 full-text search data (CVE-2026-11822)
* sqlite: SQLite: Arbitrary code execution and crash via heap-based buffer overflow in FTS5 (CVE-2026-11824)
* brace-expansion: Brace-expansion: Denial of Service via memory exhaustion in expand() function (CVE-2026-14257)
* ip-address: ip-address: Server-Side Request Forgery via IPv4-mapped/NAT64 IPv6 address misclassification (CVE-2026-54272)
* brace-expansion: brace-expansion: Denial of Service via unbounded intermediate arrays (CVE-2026-69152)
* ip-address: ip-address: Inconsistent IP address parsing leads to Server-Side Request Forgery (SSRF) and trust-boundary bypass (CVE-2026-69192)
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.
CVE-2026-11822
SQLite before 3.53.2 contains memory corruption vulnerabilities in the FTS5 full-text search extension that allow attackers to cause process crashes, memory exhaustion, or arbitrary code execution by supplying a crafted database with malformed FTS5 page data. Attackers can trigger an out-of-bounds read in fts5LeafSeek() via an attacker-controlled loop bound and a heap buffer overflow write in fts5ChunkIterate() through a crafted continuation page causing an integer underflow, exploitable when an FTS5 MATCH query is executed against the malicious database.
CVE-2026-11824
SQLite before 3.53.2 contains a heap-based buffer overflow vulnerability in the FTS5 full-text search extension that allows attackers to cause a crash or execute arbitrary code by supplying a crafted database with malicious continuation page metadata specifying a szLeaf value smaller than 4. Attackers can trigger an integer underflow in fts5ChunkIterate() causing an inflated remaining byte count during FTS5 MATCH query processing, leading to a heap buffer overflow of attacker-controlled data in applications compiled with SQLITE_ENABLE_FTS5.
CVE-2026-14257
brace-expansion through 5.0.7 is vulnerable to denial of service via memory exhaustion. The expand() function limits the number of results with a max option (default 100,000) but does not bound the length of each result string. By chaining multiple brace groups, an attacker keeps the result count under the limit while making each result progressively longer, so total memory scales with both count and string length until the process hits a fatal, uncatchable out-of-memory error. About 7.5 KB of input ('{a,b}'.repeat(1500)) crashes a default Node.js process. Any application that passes attacker-influenced strings to brace-expansion.expand() - directly or transitively via minimatch / glob brace patterns - can be crashed by a small request. Fixed in 5.0.8 by adding a maxLength option (default 4,000,000) that bounds accumulated output and intermediate arrays.
CVE-2026-54272
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Versions 10.1.1 through 10.2.0 are vulnerable to SSRF through misclassification of IPv4-mapped/NAT64 IPv6 addresses. Address6.getType() classifies an address by matching it against a table of known IPv6 special-use prefixes, returning Global unicast when nothing matches. That table had no entry for the IPv4-mapped range (::ffff:0:0/96), so every mapped address fell through to Global unicast; NAT64 addresses matched their own NAT64 … labels. The boolean checks isLoopback, isUnspecified, and isMulticast compared getType() against a fixed label and so returned false, while isLinkLocal and isULA checked only the native IPv6 ranges. The library already exposed isMapped4() and to4(), but did not apply them inside these checks, so a mapped or NAT64 address was never normalized to its embedded IPv4 address before classification. For IPv4-mapped addresses the host OS routes to the IPv4 stack, so the misclassification is reachable on any dual-stack host. For NAT64, the classification bypass is unconditional but end-to-end reachability additionally requires a NAT64/DNS64 gateway in the deployment network.This issue has been fixed in version 10.2.1.
CVE-2026-69152
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.
CVE-2026-69192
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Prior to 10.3.1, Address4 accepts an octet written with a leading zero and decodes it as decimal, while the WHATWG URL host parser, inet_aton, and getaddrinfo all decode a leading zero as octal. The library and the network stack therefore disagree about which host a string names. new Address4('012.0.0.1') reports correctForm() of 12.0.0.1 and isPrivate() of false, but fetch('http://012.0.0.1/') connects to 10.0.0.1. An application that builds a network trust-boundary decision on these checks, for example a filter intended to block Server-Side Request Forgery, or SSRF, will classify an internal target as external and allow the request. The defect is in the parse gate rather than in any one classifier, so every consumer of Address4 inherits it: isPrivate(), isLoopback(), isLinkLocal(), isCGNAT(), isInSubnet(), isHostInSubnet(), and correctForm() are all computed from the mis-decoded octets. This issue is fixed in version 10.3.1.
Modularity name: "nodejs"
Stream name: "24"
Update packages.
SQLite before 3.53.2 contains memory corruption vulnerabilities in the FTS5 full-text search extension that allow attackers to cause process crashes, memory exhaustion, or arbitrary code execution by supplying a crafted database with malformed FTS5 page data. Attackers can trigger an out-of-bounds read in fts5LeafSeek() via an attacker-controlled loop bound and a heap buffer overflow write in fts5ChunkIterate() through a crafted continuation page causing an integer underflow, exploitable when an FTS5 MATCH query is executed against the malicious database.
SQLite before 3.53.2 contains a heap-based buffer overflow vulnerability in the FTS5 full-text search extension that allows attackers to cause a crash or execute arbitrary code by supplying a crafted database with malicious continuation page metadata specifying a szLeaf value smaller than 4. Attackers can trigger an integer underflow in fts5ChunkIterate() causing an inflated remaining byte count during FTS5 MATCH query processing, leading to a heap buffer overflow of attacker-controlled data in applications compiled with SQLITE_ENABLE_FTS5.
brace-expansion through 5.0.7 is vulnerable to denial of service via memory exhaustion. The expand() function limits the number of results with a max option (default 100,000) but does not bound the length of each result string. By chaining multiple brace groups, an attacker keeps the result count under the limit while making each result progressively longer, so total memory scales with both count and string length until the process hits a fatal, uncatchable out-of-memory error. About 7.5 KB of input ('{a,b}'.repeat(1500)) crashes a default Node.js process. Any application that passes attacker-influenced strings to brace-expansion.expand() - directly or transitively via minimatch / glob brace patterns - can be crashed by a small request. Fixed in 5.0.8 by adding a maxLength option (default 4,000,000) that bounds accumulated output and intermediate arrays.
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Versions 10.1.1 through 10.2.0 are vulnerable to SSRF through misclassification of IPv4-mapped/NAT64 IPv6 addresses. Address6.getType() classifies an address by matching it against a table of known IPv6 special-use prefixes, returning Global unicast when nothing matches. That table had no entry for the IPv4-mapped range (::ffff:0:0/96), so every mapped address fell through to Global unicast; NAT64 addresses matched their own NAT64 … labels. The boolean checks isLoopback, isUnspecified, and isMulticast compared getType() against a fixed label and so returned false, while isLinkLocal and isULA checked only the native IPv6 ranges. The library already exposed isMapped4() and to4(), but did not apply them inside these checks, so a mapped or NAT64 address was never normalized to its embedded IPv4 address before classification. For IPv4-mapped addresses the host OS routes to the IPv4 stack, so the misclassification is reachable on any dual-stack host. For NAT64, the classification bypass is unconditional but end-to-end reachability additionally requires a NAT64/DNS64 gateway in the deployment network.This issue has been fixed in version 10.2.1.
The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.
ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in JavaScript. Prior to 10.3.1, Address4 accepts an octet written with a leading zero and decodes it as decimal, while the WHATWG URL host parser, inet_aton, and getaddrinfo all decode a leading zero as octal. The library and the network stack therefore disagree about which host a string names. new Address4('012.0.0.1') reports correctForm() of 12.0.0.1 and isPrivate() of false, but fetch('http://012.0.0.1/') connects to 10.0.0.1. An application that builds a network trust-boundary decision on these checks, for example a filter intended to block Server-Side Request Forgery, or SSRF, will classify an internal target as external and allow the request. The defect is in the parse gate rather than in any one classifier, so every consumer of Address4 inherits it: isPrivate(), isLoopback(), isLinkLocal(), isCGNAT(), isInSubnet(), isHostInSubnet(), and correctForm() are all computed from the mis-decoded octets. This issue is fixed in version 10.3.1.
N/A
SRPMS
- nodejs-nodemon-3.1.14-2.module+el8+2025+3b372334.src.rpm
MD5: 9529c04851e677a00014037700db66ec
SHA-256: fefd71394b31d8fb7ec2323f02b1f2e28c62347ee5ed21ab332a45ee08fa126f
Size: 462.03 kB - nodejs-packaging-2021.06-6.module+el8+2025+3b372334.src.rpm
MD5: f4b43fb626321f9b3757b2ee070c36d3
SHA-256: 6802961b77a98bfdd568c7181597031c7201b81c7fb3b96db42d99fcf470ee97
Size: 30.68 kB - nodejs-24.18.0-3.module+el8+2025+3b372334.src.rpm
MD5: 7d11096865f2b5d030b7f642cf7f02fd
SHA-256: 61d0f86928dafe16c987969b582bdf36eb000c1b1d3200c77794c15699cfa045
Size: 98.91 MB
Asianux Server 8 for x86_64
- nodejs-24.18.0-3.module+el8+2025+3b372334.x86_64.rpm
MD5: 321f7522344f3e4f012368841a72a915
SHA-256: 02b33d1fd0f2a2a53d05e656e41ef7b63f54a2ea1c5d28b966b101988b454f68
Size: 68.11 kB - nodejs-debugsource-24.18.0-3.module+el8+2025+3b372334.x86_64.rpm
MD5: a07aea8133b819b07fc76b45056d52d0
SHA-256: 4c0a30801d039d3a9a87fd5bb591ab7d1348a5defc5115ab5db9872775912f5f
Size: 21.49 MB - nodejs-devel-24.18.0-3.module+el8+2025+3b372334.x86_64.rpm
MD5: c4cb385a29c0bebf487472ad9265d792
SHA-256: 79a2b3f82b83498e28510d0c8822d808a8f4b79da4d63cf9465aeecf2e47b2cb
Size: 330.85 kB - nodejs-docs-24.18.0-3.module+el8+2025+3b372334.noarch.rpm
MD5: 2425ead6fed4477c930ec1105c94c944
SHA-256: 0915eb05bd2d4960e633ac5110bd4feb472b34015f33bb225765e76c85531034
Size: 6.28 MB - nodejs-full-i18n-24.18.0-3.module+el8+2025+3b372334.x86_64.rpm
MD5: 72f0f4007b0429c13afacf3614d33f3b
SHA-256: 35c4132b4770dd86de30c8beb7f69e4ca531ec094d4b87b1155c40c29f6ccfc8
Size: 8.61 MB - nodejs-libs-24.18.0-3.module+el8+2025+3b372334.x86_64.rpm
MD5: 68a8b8023879b2d15d4d550e8b553de2
SHA-256: 2c7c9d4d45d526411e8e34f87dbcdb58281a86fc5441d0ef6126b2854039af30
Size: 18.84 MB - nodejs-nodemon-3.1.14-2.module+el8+2025+3b372334.noarch.rpm
MD5: 6831bcdb12d5bb8cd6d8d01bf011757c
SHA-256: ba0e3e47016427d35524576d66a676adb5ceb5ae8ef57a4d1b2f9b191f1b7d04
Size: 321.26 kB - nodejs-packaging-2021.06-6.module+el8+2025+3b372334.noarch.rpm
MD5: 96fdbffd5dd5b1cb6e9e331c6cdf173a
SHA-256: 9edc079eb0a7ca5113ed9550294d2cccd954cc92a624fd763e9065dc07b97366
Size: 24.41 kB - nodejs-packaging-bundler-2021.06-6.module+el8+2025+3b372334.noarch.rpm
MD5: 9c72054d4e484a3a23733dc73c356dcd
SHA-256: e258a7e158098c1571f950fa1b5e6185e39c9a77a18a6b88703ec0f37090f7a0
Size: 13.99 kB - npm-11.16.0-1.24.18.0.3.module+el8+2025+3b372334.noarch.rpm
MD5: 8d4f3878205a7aab8ff5d92e971bf5cf
SHA-256: 7673c56d16cac154b112c355b1d43cdb4bc3d1beac479d95bf7a3e1269161e59
Size: 2.30 MB - v8-13.6-devel-13.6.233.17-1.24.18.0.3.module+el8+2025+3b372334.x86_64.rpm
MD5: 664cde3e2f9fdf2526f2b7c67aa0230c
SHA-256: a232517a94f7120e9b67bae8daf448734f68bd8d5d6bf02bc76a1988067ac628
Size: 33.70 kB