Cloudanix VulnDB

CVE-2023-46809

High · 7.4

CVSS

7.4

EPSS

1.3%

Published

Sep 7, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Some Node.js setups can leak secret information when they decrypt messages, allowing attackers to read data that should stay private.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
High
Impact
Data Exposure
Component
Library
Class
Cryptographic Weakness
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Permits remote timing side-channel attacks (Marvin Attack) against RSA decryption operations that accept PKCS#1 v1.5 padding, potentially allowing recovery of plaintext or private-key material when an unpatched OpenSSL is used.

Why it matters to the business

Attackers may decrypt sensitive data protected by RSA keys, leading to exposure of credentials, tokens, or confidential information and undermining trust in encrypted communications.

How an attack unfolds

An attacker repeatedly sends crafted RSA-encrypted messages to a Node.js process performing decryption with an unpatched OpenSSL library; by measuring response-time variations the attacker gradually recovers the plaintext or private key material.

How to fix it

Upgrade Node.js to a build that bundles a patched OpenSSL version or ensure the runtime links against a patched system OpenSSL library; disable PKCS#1 v1.5 padding for RSA decryption where possible.

How to confirm the fix worked

Verify the OpenSSL version linked by the Node.js binary matches a release containing the Marvin Attack fixes; test that RSA decryption calls reject or do not leak timing information for PKCS#1 v1.5 padded data.

Typical attack path

  1. Identify a Node.js service that performs RSA decryption with PKCS#1 v1.5 padding using an unpatched OpenSSL
  2. Send a large number of specially formatted ciphertexts to the decryption endpoint
  3. Measure subtle timing differences in the responses over many trials
  4. Apply statistical analysis to recover plaintext bytes or private-key bits
  5. Use recovered material to decrypt past or future traffic

How to detect it

Review application and TLS logs for unusually high volumes of RSA decryption operations; look for repeated connections from the same sources that could indicate timing-probe attempts.

What your security team should do

  • Inventory all Node.js deployments and determine the OpenSSL version in use
  • Prioritize patching of internet-facing services that perform RSA decryption
  • Replace PKCS#1 v1.5 with OAEP or other modern padding schemes
  • Monitor EPSS and threat intelligence for any increase in exploit activity

The record

Node.js versions which bundle an unpatched version of OpenSSL or run against a dynamically linked version of OpenSSL which are unpatched are vulnerable to the Marvin Attack - https://people.redhat.com/~hkario/marvin/, if PCKS #1 v1.5 padding is allowed when performing RSA descryption using a private key.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 nodejs 0 1:18.19.1-1.module_el8.9.0+3753+4de0891b
AlmaLinux:8 nodejs 0 1:20.11.1-1.module_el8.9.0+3775+d8460d35
AlmaLinux:8 nodejs-devel 0 1:18.19.1-1.module_el8.9.0+3753+4de0891b
AlmaLinux:8 nodejs-devel 0 1:20.11.1-1.module_el8.9.0+3775+d8460d35
AlmaLinux:8 nodejs-docs 0 1:18.19.1-1.module_el8.9.0+3753+4de0891b
AlmaLinux:8 nodejs-docs 0 1:20.11.1-1.module_el8.9.0+3775+d8460d35
AlmaLinux:8 nodejs-full-i18n 0 1:18.19.1-1.module_el8.9.0+3753+4de0891b
AlmaLinux:8 nodejs-full-i18n 0 1:20.11.1-1.module_el8.9.0+3775+d8460d35
AlmaLinux:8 nodejs-nodemon 0 3.0.1-1.module_el8.8.0+3613+1ed8c91d
AlmaLinux:8 nodejs-nodemon 0 3.0.1-1.module_el8.9.0+3731+490e3ce5
AlmaLinux:8 nodejs-packaging 0 2021.06-4.module_el8.7.0+3343+ea2b7901
AlmaLinux:8 nodejs-packaging 0 2021.06-4.module_el8.9.0+3684+11b9e959
AlmaLinux:8 nodejs-packaging-bundler 0 2021.06-4.module_el8.7.0+3343+ea2b7901
AlmaLinux:8 nodejs-packaging-bundler 0 2021.06-4.module_el8.9.0+3684+11b9e959
AlmaLinux:8 npm 0 1:10.2.4-1.18.19.1.1.module_el8.9.0+3753+4de0891b
AlmaLinux:8 npm 0 1:10.2.4-1.20.11.1.1.module_el8.9.0+3775+d8460d35
AlmaLinux:9 nodejs 0 1:18.19.1-1.module_el9.3.0+59+28b95644
AlmaLinux:9 nodejs 0 1:20.11.1-1.module_el9.3.0+88+29afeaa2
AlmaLinux:9 nodejs-devel 0 1:18.19.1-1.module_el9.3.0+59+28b95644
AlmaLinux:9 nodejs-devel 0 1:20.11.1-1.module_el9.3.0+88+29afeaa2
AlmaLinux:9 nodejs-docs 0 1:18.19.1-1.module_el9.3.0+59+28b95644
AlmaLinux:9 nodejs-docs 0 1:20.11.1-1.module_el9.3.0+88+29afeaa2
AlmaLinux:9 nodejs-full-i18n 0 1:18.19.1-1.module_el9.3.0+59+28b95644
AlmaLinux:9 nodejs-full-i18n 0 1:20.11.1-1.module_el9.3.0+88+29afeaa2
AlmaLinux:9 nodejs-nodemon 0 3.0.1-1.module_el9.2.0+36+853e48f5
AlmaLinux:9 nodejs-nodemon 0 3.0.1-1.module_el9.3.0+47+c33bc288
AlmaLinux:9 nodejs-packaging 0 2021.06-4.module_el9.1.0+13+d9a595ea
AlmaLinux:9 nodejs-packaging 0 2021.06-4.module_el9.3.0+48+1cf146a1
AlmaLinux:9 nodejs-packaging-bundler 0 2021.06-4.module_el9.1.0+13+d9a595ea
AlmaLinux:9 nodejs-packaging-bundler 0 2021.06-4.module_el9.3.0+48+1cf146a1
AlmaLinux:9 npm 0 1:10.2.4-1.18.19.1.1.module_el9.3.0+59+28b95644
AlmaLinux:9 npm 0 1:10.2.4-1.20.11.1.1.module_el9.3.0+88+29afeaa2
Bitnami node 0 18.19.1
Bitnami node 21.0.0 21.6.1
Bitnami node-min 0 18.19.1
Bitnami node-min 21.0.0 21.6.1
Chainguard nodejs-16 0 16.20.2-r16
Chainguard nodejs-16-doc 0 16.20.2-r15
Debian:10 nodejs 0 10.24.0~dfsg-1~deb10u4
Debian:11 nodejs 0 12.22.12~dfsg-1~deb11u5
Debian:12 nodejs 0 No fix
Debian:13 nodejs 0 18.19.1+dfsg-1
Debian:14 nodejs 0 18.19.1+dfsg-1
Mageia:9 nodejs 0 18.19.1-1.mga9
Mageia:9 yarnpkg 0 1.22.21-0.10.2.4.1.mga9
Red Hat:enterprise_linux:8::appstream nodejs 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-debuginfo 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs-debuginfo 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-debugsource 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs-debugsource 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-devel 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs-devel 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-docs 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs-docs 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-full-i18n 0 1:18.19.1-1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream nodejs-full-i18n 0 1:20.11.1-1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:8::appstream nodejs-nodemon 0 0:3.0.1-1.module+el8.9.0+21190+5ebd2c33
Red Hat:enterprise_linux:8::appstream nodejs-nodemon 0 0:3.0.1-1.module+el8.9.0+20473+c4e3d824
Red Hat:enterprise_linux:8::appstream nodejs-packaging 0 0:2021.06-4.module+el8.9.0+21190+5ebd2c33
Red Hat:enterprise_linux:8::appstream nodejs-packaging 0 0:2021.06-4.module+el8.9.0+19519+e25b965a
Red Hat:enterprise_linux:8::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el8.9.0+21190+5ebd2c33
Red Hat:enterprise_linux:8::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el8.9.0+19519+e25b965a
Red Hat:enterprise_linux:8::appstream npm 0 1:10.2.4-1.18.19.1.1.module+el8.9.0+21387+21356dec
Red Hat:enterprise_linux:8::appstream npm 0 1:10.2.4-1.20.11.1.1.module+el8.9.0+21380+12032667
Red Hat:enterprise_linux:9::appstream nodejs 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-debuginfo 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs-debuginfo 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-debugsource 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs-debugsource 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-devel 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs-devel 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-docs 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs-docs 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-full-i18n 0 1:18.19.1-1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream nodejs-full-i18n 0 1:20.11.1-1.module+el9.3.0+21385+bac43d5a
Red Hat:enterprise_linux:9::appstream nodejs-nodemon 0 0:3.0.1-1.module+el9.3.0+19762+d716bf3b
Red Hat:enterprise_linux:9::appstream nodejs-nodemon 0 0:3.0.1-1.module+el9.3.0.z+20478+84a9f781
Red Hat:enterprise_linux:9::appstream nodejs-packaging 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:enterprise_linux:9::appstream nodejs-packaging 0 0:2021.06-4.module+el9.3.0+19518+63aad52d
Red Hat:enterprise_linux:9::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:enterprise_linux:9::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el9.3.0+19518+63aad52d
Red Hat:enterprise_linux:9::appstream npm 0 1:10.2.4-1.18.19.1.1.module+el9.3.0+21388+22892fb9
Red Hat:enterprise_linux:9::appstream npm 0 1:10.2.4-1.20.11.1.1.module+el9.3.0+21385+bac43d5a
Red Hat:rhel_eus:8.8::appstream nodejs 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-debuginfo 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-debugsource 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-devel 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-docs 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-full-i18n 0 1:18.19.1-1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:8.8::appstream nodejs-nodemon 0 0:3.0.1-1.module+el8.8.0+19757+8ca87034
Red Hat:rhel_eus:8.8::appstream nodejs-packaging 0 0:2021.06-4.module+el8.7.0+15582+19c314fa
Red Hat:rhel_eus:8.8::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el8.7.0+15582+19c314fa
Red Hat:rhel_eus:8.8::appstream npm 0 1:10.2.4-1.18.19.1.1.module+el8.8.0+21592+14a8b93e
Red Hat:rhel_eus:9.2::appstream nodejs 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-debuginfo 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-debugsource 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-devel 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-docs 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-full-i18n 0 1:18.19.1-1.module+el9.2.0+21594+a052107e
Red Hat:rhel_eus:9.2::appstream nodejs-nodemon 0 0:3.0.1-1.module+el9.2.0.z+19753+58118bc0
Red Hat:rhel_eus:9.2::appstream nodejs-packaging 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:rhel_eus:9.2::appstream nodejs-packaging-bundler 0 0:2021.06-4.module+el9.1.0+15718+e52ec601
Red Hat:rhel_eus:9.2::appstream npm 0 1:10.2.4-1.18.19.1.1.module+el9.2.0+21594+a052107e
Rocky Linux:8 nodejs 0 1:18.19.1-1.module+el8.9.0+1768+6b454dc0
Rocky Linux:8 nodejs 0 1:20.11.1-1.module+el8.9.0+1776+addd4aec
Rocky Linux:8 nodejs-nodemon 0 0:3.0.1-1.module+el8.8.0+1459+02651ab6
Rocky Linux:8 nodejs-packaging 0 0:2021.06-4.module+el8.7.0+1072+5b168780
Rocky Linux:9 nodejs-nodemon 0 0:3.0.1-1.module+el9.2.0+15226+de336927
Rocky Linux:9 nodejs-nodemon 0 0:3.0.1-1.module+el9.6.0+32322+a8b1fd01
Rocky Linux:9 nodejs-packaging 0 0:2021.06-4.module+el9.2.0+15226+de336927
Rocky Linux:9 nodejs-packaging 0 0:2021.06-4.module+el9.5.0+31770+0da7192d
SUSE:Enterprise Storage 7.1 nodejs12 0 12.22.12-150200.4.56.1
SUSE:Enterprise Storage 7.1 nodejs14 0 14.21.3-150200.15.55.1
SUSE:Enterprise Storage 7.1 nodejs16 0 16.20.2-150300.7.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS nodejs16 0 16.20.2-150300.7.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS nodejs16 0 16.20.2-150400.3.30.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS nodejs18 0 18.19.1-150400.9.18.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS nodejs16 0 16.20.2-150400.3.30.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS nodejs18 0 18.19.1-150400.9.18.2
SUSE:Linux Enterprise Module for Web and Scripting 12 nodejs16 0 16.20.2-8.39.1
SUSE:Linux Enterprise Module for Web and Scripting 12 nodejs18 0 18.19.1-8.18.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 nodejs18 0 18.19.1-150400.9.18.2
SUSE:Linux Enterprise Module for Web and Scripting 15 SP5 nodejs20 0 20.11.1-150500.11.6.1
SUSE:Linux Enterprise Server 15 SP2-LTSS nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise Server 15 SP2-LTSS nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise Server 15 SP3-LTSS nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise Server 15 SP3-LTSS nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise Server 15 SP3-LTSS nodejs16 0 16.20.2-150300.7.33.1
SUSE:Linux Enterprise Server 15 SP4-LTSS nodejs16 0 16.20.2-150400.3.30.1
SUSE:Linux Enterprise Server 15 SP4-LTSS nodejs18 0 18.19.1-150400.9.18.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 nodejs12 0 12.22.12-150200.4.56.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 nodejs14 0 14.21.3-150200.15.55.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 nodejs16 0 16.20.2-150300.7.33.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 nodejs16 0 16.20.2-150400.3.30.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 nodejs18 0 18.19.1-150400.9.18.2
SUSE:Manager Server 4.3 nodejs16 0 16.20.2-150400.3.30.1
SUSE:Manager Server 4.3 nodejs18 0 18.19.1-150400.9.18.2
Ubuntu:20.04:LTS nodejs 0 No fix
Ubuntu:22.04:LTS nodejs 0 No fix
Ubuntu:24.04:LTS nodejs 0 No fix
Ubuntu:24.10 nodejs 0 18.19.1+dfsg-6ubuntu5
Ubuntu:Pro:14.04:LTS nodejs 0 No fix
Ubuntu:Pro:16.04:LTS nodejs 0 No fix
Ubuntu:Pro:18.04:LTS nodejs 0 No fix
Ubuntu:Pro:22.04:LTS nodejs 0 No fix
Wolfi nodejs-16 0 16.20.2-r16
Wolfi nodejs-16-doc 0 16.20.2-r15
openSUSE:Leap 15.5 nodejs18 0 18.19.1-150400.9.18.2
openSUSE:Leap 15.5 nodejs20 0 20.11.1-150500.11.6.1
openSUSE:Tumbleweed nodejs20 0 20.11.1-1.1
openSUSE:Tumbleweed nodejs21 0 21.6.2-1.1

Related vulnerabilities