Debian dla-3886 : libnode-dev - security update

high Nessus Plugin ID 207274

Synopsis

The remote Debian host is missing one or more security-related updates.

Description

The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the dla-3886 advisory.

- ------------------------------------------------------------------------- Debian LTS Advisory DLA-3886-1 [email protected] https://www.debian.org/lts/security/ Bastien Roucaris September 14, 2024 https://wiki.debian.org/LTS
- -------------------------------------------------------------------------

Package : nodejs Version : 12.22.12~dfsg-1~deb11u5 CVE ID : CVE-2023-30589 CVE-2023-30590 CVE-2023-32559 CVE-2023-46809 CVE-2024-22019 CVE-2024-22025 CVE-2024-27982 CVE-2024-27983

Node.js a JavaScript runtime environment that executes JavaScript code outside a web browser (server side) was vulnerable.

CVE-2023-30589

The llhttp parser in the http module in Node does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). The CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser.
According to RFC7230 section 3, only the CRLF sequence should delimit each header-field.

CVE-2023-30590

The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corresponding public key after calling setPrivateKey(). However, the documentation says this API call: Generates private and public Diffie-Hellman key values. The documented behavior is very different from the actual behavior, and this difference could easily lead to security issues.

CVE-2023-32559

A privilege escalation vulnerability exists in the experimental policy mechanism.
The use of the deprecated API `process.binding()` can bypass the policy mechanism by requiring internal modules and eventually take advantage of `process.binding('spawn_sync')` run arbitrary code, outside of the limits defined in a `policy.json` file

CVE-2023-46809

Node.js versions are vulnerable to the Marvin Attack, if PCKS #1 v1.5 padding is allowed when performing RSA descryption using a private key.

CVE-2024-22019

A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request with chunked encoding, leading to resource exhaustion and denial of service (DoS).
The server reads an unbounded number of bytes from a single connection, exploiting the lack of limitations on chunk extension bytes.
The issue can cause CPU and network bandwidth exhaustion, bypassing standard safeguards like timeouts and body size limits.

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-27982

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.

For Debian 11 bullseye, these problems have been fixed in version 12.22.12~dfsg-1~deb11u5.

We recommend that you upgrade your nodejs packages.

For the detailed security status of nodejs please refer to its security tracker page at:
https://security-tracker.debian.org/tracker/nodejs

Further information about Debian LTS security advisories, how to apply these updates to your system and frequently asked questions can be found at: https://wiki.debian.org/LTS

Tenable has extracted the preceding description block directly from the Debian security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade the libnode-dev packages.

See Also

https://security-tracker.debian.org/tracker/source-package/nodejs

https://security-tracker.debian.org/tracker/CVE-2023-30589

https://security-tracker.debian.org/tracker/CVE-2023-30590

https://security-tracker.debian.org/tracker/CVE-2023-32559

https://security-tracker.debian.org/tracker/CVE-2023-46809

https://security-tracker.debian.org/tracker/CVE-2024-22019

https://security-tracker.debian.org/tracker/CVE-2024-22025

https://security-tracker.debian.org/tracker/CVE-2024-27982

https://security-tracker.debian.org/tracker/CVE-2024-27983

https://packages.debian.org/source/bullseye/nodejs

Plugin Details

Severity: High

ID: 207274

File Name: debian_DLA-3886.nasl

Version: 1.1

Type: local

Agent: unix

Published: 9/14/2024

Updated: 9/14/2024

Supported Sensors: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

Risk Information

VPR

Risk Factor: High

Score: 7.4

CVSS v2

Risk Factor: High

Base Score: 7.8

Temporal Score: 6.1

Vector: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N

CVSS Score Source: CVE-2023-30590

CVSS v3

Risk Factor: High

Base Score: 7.5

Temporal Score: 6.7

Vector: CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:P/RL:O/RC:C

CVSS Score Source: CVE-2023-32559

Vulnerability Information

CPE: cpe:/o:debian:debian_linux:11.0, p-cpe:/a:debian:debian_linux:libnode72, p-cpe:/a:debian:debian_linux:nodejs-doc, p-cpe:/a:debian:debian_linux:libnode-dev, p-cpe:/a:debian:debian_linux:nodejs

Required KB Items: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 9/14/2024

Vulnerability Publication Date: 6/20/2023

Reference Information

CVE: CVE-2023-30589, CVE-2023-30590, CVE-2023-32559, CVE-2023-46809, CVE-2024-22019, CVE-2024-22025, CVE-2024-27982, CVE-2024-27983