nodejs-16.20.2-8.el9_4
エラータID: AXSA:2024-8149:02
Node.js is a software development platform for building fast and scalable network applications in the JavaScript programming language.
Security Fix(es):
* nodejs: CONTINUATION frames DoS (CVE-2024-27983)
* nodejs: using the fetch() function to retrieve content from an untrusted URL leads to denial of service (CVE-2024-22025)
* nodejs: HTTP Request Smuggling via Content Length Obfuscation (CVE-2024-27982)
* nghttp2: CONTINUATION frames DoS (CVE-2024-28182)
* c-ares: Out of bounds read in ares__read_line() (CVE-2024-25629)
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-2024-22025
A vulnerability in Node.js has been identified, allowing for a Denial of Service (DoS) attack through resource exhaustion when using the fetch() function to retrieve content from an untrusted URL. The vulnerability stems from the fact that the fetch() function in Node.js always decodes Brotli, making it possible for an attacker to cause resource exhaustion when fetching content from an untrusted URL. An attacker controlling the URL passed into fetch() can exploit this vulnerability to exhaust memory, potentially leading to process termination, depending on the system configuration.
CVE-2024-25629
c-ares is a C library for asynchronous DNS requests. `ares__read_line()` is used to parse local configuration files such as `/etc/resolv.conf`, `/etc/nsswitch.conf`, the `HOSTALIASES` file, and if using a c-ares version prior to 1.27.0, the `/etc/hosts` file. If any of these configuration files has an embedded `NULL` character as the first character in a new line, it can lead to attempting to read memory prior to the start of the given buffer which may result in a crash. This issue is fixed in c-ares 1.27.0. No known workarounds exist.
CVE-2024-27982
The team has identified a critical vulnerability in the http server of the most recent version of Node, where malformed headers can lead to HTTP request smuggling. Specifically, if a space is placed before a content-length header, it is not interpreted correctly, enabling attackers to smuggle in a second request within the body of the first.
CVE-2024-27983
An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.
CVE-2024-28182
nghttp2 is an implementation of the Hypertext Transfer Protocol version 2 in C. The nghttp2 library prior to version 1.61.0 keeps reading the unbounded number of HTTP/2 CONTINUATION frames even after a stream is reset to keep HPACK context in sync. This causes excessive CPU usage to decode HPACK stream. nghttp2 v1.61.0 mitigates this vulnerability by limiting the number of CONTINUATION frames it accepts per stream. There is no workaround for this vulnerability.
Update packages.
A vulnerability in Node.js has been identified, allowing for a Denial of Service (DoS) attack through resource exhaustion when using the fetch() function to retrieve content from an untrusted URL. The vulnerability stems from the fact that the fetch() function in Node.js always decodes Brotli, making it possible for an attacker to cause resource exhaustion when fetching content from an untrusted URL. An attacker controlling the URL passed into fetch() can exploit this vulnerability to exhaust memory, potentially leading to process termination, depending on the system configuration.
c-ares is a C library for asynchronous DNS requests. `ares__read_line()` is used to parse local configuration files such as `/etc/resolv.conf`, `/etc/nsswitch.conf`, the `HOSTALIASES` file, and if using a c-ares version prior to 1.27.0, the `/etc/hosts` file. If any of these configuration files has an embedded `NULL` character as the first character in a new line, it can lead to attempting to read memory prior to the start of the given buffer which may result in a crash. This issue is fixed in c-ares 1.27.0. No known workarounds exist.
The team has identified a critical vulnerability in the http server of the most recent version of Node, where malformed headers can lead to HTTP request smuggling. Specifically, if a space is placed before a content-length header, it is not interpreted correctly, enabling attackers to smuggle in a second request within the body of the first.
An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.
nghttp2 is an implementation of the Hypertext Transfer Protocol version 2 in C. The nghttp2 library prior to version 1.61.0 keeps reading the unbounded number of HTTP/2 CONTINUATION frames even after a stream is reset to keep HPACK context in sync. This causes excessive CPU usage to decode HPACK stream. nghttp2 v1.61.0 mitigates this vulnerability by limiting the number of CONTINUATION frames it accepts per stream. There is no workaround for this vulnerability.
N/A
SRPMS
- nodejs-16.20.2-8.el9_4.src.rpm
MD5: ea53fda8cee0bd6f50182607e1e02708
SHA-256: a02f97a7a805626f5aad42e4a94b312a0ff0f2ddcd5fdb9b743993ed951e3ff3
Size: 70.77 MB
Asianux Server 9 for x86_64
- nodejs-16.20.2-8.el9_4.x86_64.rpm
MD5: c9551c86b6fa6c5d17879c2842905b2a
SHA-256: 6adca758801d7343b1705372bd912ad5367042964471dbf6bdf3be4275cdfde5
Size: 110.94 kB - nodejs-docs-16.20.2-8.el9_4.noarch.rpm
MD5: 7ed7573337c5d1b633c466d28d8a7ba0
SHA-256: a7444fe5ed70f2a4f7cae251a487d19ec4d3eabd605367c3ee9b95799fb442bc
Size: 7.21 MB - nodejs-full-i18n-16.20.2-8.el9_4.x86_64.rpm
MD5: c6fccb3f770cc263024c80b5f68e75fc
SHA-256: 722c2dee8bf7f7051e3dd0e9f2bc33ca2a76952317295a3c863c3d2f3f7e43f3
Size: 8.21 MB - nodejs-libs-16.20.2-8.el9_4.i686.rpm
MD5: d2843f2400f6cdb6bb38a0365331a2de
SHA-256: c655fbc0ff5679f0c6d4e4048b373084c345126d0ed86ff46a871ad95c1e56f3
Size: 15.13 MB - nodejs-libs-16.20.2-8.el9_4.x86_64.rpm
MD5: cddea47584128c8460d681d82416bb22
SHA-256: c956f0d5b4708776cb030df8a9ee713f3e049c68b5f9ccf4ed442d6597705ecf
Size: 14.50 MB - npm-8.19.4-1.16.20.2.8.el9_4.x86_64.rpm
MD5: b08fda76aea34a44358e10c3c496d3d8
SHA-256: 899bcc70d8c3582ea2b244aff6ad9002472ea6fbc5a3cb1cab350228d9e0c05f
Size: 2.09 MB