Every CVE Search/ Get API key

CVE-2024-2408

PHP is vulnerable to the Marvin Attack

5.9 MediumFix available

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

1.16%Up 1.1 points since Jun 10, 2024
90%50%10%1%

What each source reports

NVD Score used 5.9

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
CVE-2024-2408
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
CVE List 5.9

PHP is vulnerable to the Marvin Attack

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
CVE-2024-2408
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-203
Updated
2026-11-02
EUVDEUVD-2024-27360 5.9

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
EUVD-2024-27360
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVAZL-42616 5.9

CVE-2024-2408 affecting package php for versions less than 8.3.8-1

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
AZL-42616
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-05
OSVAZL-42628 5.9

CVE-2024-2408 affecting package php for versions less than 8.1.29-1

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
AZL-42628
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSV 5.9

PHP is vulnerable to the Marvin Attack

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
CVE-2024-2408
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 10 moreShow less
OSVDEBIAN-CVE-2024-2408 5.9

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable. PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
DEBIAN-CVE-2024-2408
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVRHSA-2023:7877 5.9

Red Hat Security Advisory: openssl security update

Record
RHSA-2023:7877
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVRLSA-2023:7877 5.9

Low: openssl security update

OpenSSL is a toolkit that implements the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols, as well as a full-strength general-purpose cryptography library.

Security Fix(es):

  • openssl: Excessive time spent checking DH keys and parameters (CVE-2023-3446)

  • OpenSSL: Excessive time spent checking DH q parameter value (CVE-2023-3817)

  • openssl: Generating excessively long X9.42 DH keys or checking excessively long X9.42 DH keys or parameters may be very slow (CVE-2023-5678)

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.

Record
RLSA-2023:7877
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2024-2408 5.9

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable. PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
UBUNTU-CVE-2024-2408
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVALSA-2023:7877 No score

Low: openssl security update

OpenSSL is a toolkit that implements the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols, as well as a full-strength general-purpose cryptography library.

Security Fix(es):

  • openssl: Excessive time spent checking DH keys and parameters (CVE-2023-3446)
  • OpenSSL: Excessive time spent checking DH q parameter value (CVE-2023-3817)
  • openssl: Generating excessively long X9.42 DH keys or checking excessively long X9.42 DH keys or parameters may be very slow (CVE-2023-5678)

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.

Record
ALSA-2023:7877
Updated
2026-11-02
OSVBIT-libphp-2024-2408 No score

PHP is vulnerable to the Marvin Attack

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
BIT-libphp-2024-2408
Updated
2026-11-02
OSVBIT-php-2024-2408 No score

PHP is vulnerable to the Marvin Attack

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
BIT-php-2024-2408
Updated
2026-11-02
OSVBIT-php-min-2024-2408 No score

PHP is vulnerable to the Marvin Attack

The openssl_private_decrypt function in PHP, when using PKCS1 padding (OPENSSL_PKCS1_PADDING, which is the default), is vulnerable to the Marvin Attack unless it is used with an OpenSSL version that includes the changes from this pull request: https://github.com/openssl/openssl/pull/13817 (rsa_pkcs1_implicit_rejection). These changes are part of OpenSSL 3.2 and have also been backported to stable versions of various Linux distributions, as well as to the PHP builds provided for Windows since the previous release. All distributors and builders should ensure that this version is used to prevent PHP from being vulnerable.

PHP Windows builds for the versions 8.1.29, 8.2.20 and 8.3.8 and above include OpenSSL patches that fix the vulnerability.

Record
BIT-php-min-2024-2408
Updated
2026-11-02
OSVCLSA-2025-1742661821 No score

openssl: Fix of CVE-2024-2408

  • CVE-2024-2408: introduce implicit rejection mechanism for RSA PKCS#1 v1.5
Record
CLSA-2025-1742661821
Updated
2026-11-02
OSVCLSA-2025-1742723010 No score

openssl: Fix of CVE-2024-2408

  • CVE-2024-2408: introduce implicit rejection mechanism for RSA PKCS#1 v1.5
Record
CLSA-2025-1742723010
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
openssl
AlmaLinux:8
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-devel
AlmaLinux:8
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-libs
AlmaLinux:8
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-perl
AlmaLinux:8
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
php
Azure Linux:3
before 8.3.8-1
8.3.8-1
php
Azure Linux:2
before 8.1.29-1
8.1.29-1
libphp
Bitnami
before 8.1.29, 8.2.0 up to 8.2.20, 8.3.0 up to 8.3.8
8.1.298.2.208.3.8
php
Bitnami
before 8.1.29, 8.2.0 up to 8.2.20, 8.3.0 up to 8.3.8
8.1.298.2.208.3.8
php-min
Bitnami
before 8.1.29, 8.2.0 up to 8.2.20, 8.3.0 up to 8.3.8
8.1.298.2.208.3.8
openssl
TuxCare:CentOS:8.4
before 1:1.1.1g-15.el8.4.tuxcare.els13
1:1.1.1g-15.el8.4.tuxcare.els13
Show 19 moreShow less
Affected packages
PackageAffectedFixed
openssl-devel
TuxCare:CentOS:8.4
before 1:1.1.1g-15.el8.4.tuxcare.els13
1:1.1.1g-15.el8.4.tuxcare.els13
openssl-libs
TuxCare:CentOS:8.4
before 1:1.1.1g-15.el8.4.tuxcare.els13
1:1.1.1g-15.el8.4.tuxcare.els13
openssl-perl
TuxCare:CentOS:8.4
before 1:1.1.1g-15.el8.4.tuxcare.els13
1:1.1.1g-15.el8.4.tuxcare.els13
openssl-static
TuxCare:CentOS:8.4
before 1:1.1.1g-15.el8.4.tuxcare.els13
1:1.1.1g-15.el8.4.tuxcare.els13
openssl
TuxCare:CentOS:8.5
before 1:1.1.1k-5.el8.5.tuxcare.els12
1:1.1.1k-5.el8.5.tuxcare.els12
openssl-devel
TuxCare:CentOS:8.5
before 1:1.1.1k-5.el8.5.tuxcare.els12
1:1.1.1k-5.el8.5.tuxcare.els12
openssl-libs
TuxCare:CentOS:8.5
before 1:1.1.1k-5.el8.5.tuxcare.els12
1:1.1.1k-5.el8.5.tuxcare.els12
openssl-perl
TuxCare:CentOS:8.5
before 1:1.1.1k-5.el8.5.tuxcare.els12
1:1.1.1k-5.el8.5.tuxcare.els12
openssl-static
TuxCare:CentOS:8.5
before 1:1.1.1k-5.el8.5.tuxcare.els12
1:1.1.1k-5.el8.5.tuxcare.els12
php8.2
Debian:12
before 8.2.18-1, plus listed versions
8.2.10-18.2.10-28.2.12-18.2.16-18.2.16-2
Show 7 moreShow less
8.2.17-18.2.18-1~deb12u18.2.5-28.2.7-18.2.7-1.18.2.7-1.28.2.7-1~deb12u1
8.2.18-1
openssl
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-debuginfo
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-debugsource
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-devel
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-libs
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-libs-debuginfo
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl-perl
Red Hat:enterprise_linux:8::baseos
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
openssl
Rocky Linux:8
From an advisory covering 4 CVEs
before 1:1.1.1k-12.el8_9
1:1.1.1k-12.el8_9
php5
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
5.5.3+dfsg-1ubuntu25.5.3+dfsg-1ubuntu35.5.6+dfsg-1ubuntu15.5.6+dfsg-1ubuntu25.5.8+dfsg-2ubuntu1
Show 44 moreShow less
5.5.9+dfsg-1ubuntu15.5.9+dfsg-1ubuntu25.5.9+dfsg-1ubuntu35.5.9+dfsg-1ubuntu45.5.9+dfsg-1ubuntu4.15.5.9+dfsg-1ubuntu4.25.5.9+dfsg-1ubuntu4.35.5.9+dfsg-1ubuntu4.45.5.9+dfsg-1ubuntu4.55.5.9+dfsg-1ubuntu4.65.5.9+dfsg-1ubuntu4.75.5.9+dfsg-1ubuntu4.95.5.9+dfsg-1ubuntu4.115.5.9+dfsg-1ubuntu4.125.5.9+dfsg-1ubuntu4.135.5.9+dfsg-1ubuntu4.145.5.9+dfsg-1ubuntu4.165.5.9+dfsg-1ubuntu4.175.5.9+dfsg-1ubuntu4.195.5.9+dfsg-1ubuntu4.205.5.9+dfsg-1ubuntu4.215.5.9+dfsg-1ubuntu4.225.5.9+dfsg-1ubuntu4.235.5.9+dfsg-1ubuntu4.245.5.9+dfsg-1ubuntu4.255.5.9+dfsg-1ubuntu4.265.5.9+dfsg-1ubuntu4.275.5.9+dfsg-1ubuntu4.295.5.9+dfsg-1ubuntu4.29+esm15.5.9+dfsg-1ubuntu4.29+esm25.5.9+dfsg-1ubuntu4.29+esm35.5.9+dfsg-1ubuntu4.29+esm45.5.9+dfsg-1ubuntu4.29+esm55.5.9+dfsg-1ubuntu4.29+esm65.5.9+dfsg-1ubuntu4.29+esm85.5.9+dfsg-1ubuntu4.29+esm105.5.9+dfsg-1ubuntu4.29+esm115.5.9+dfsg-1ubuntu4.29+esm125.5.9+dfsg-1ubuntu4.29+esm135.5.9+dfsg-1ubuntu4.29+esm145.5.9+dfsg-1ubuntu4.29+esm155.5.9+dfsg-1ubuntu4.29+esm165.5.9+dfsg-1ubuntu4.29+esm175.5.9+dfsg-1ubuntu4.29+esm18
None known

History

History
RecordedChangedSources
affected
factsOSV
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-2408 is a medium vulnerability (CVSS 5.9) in Php, published December 19, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.16%, the 67th percentile. Fixed in php 8.3.8-1.

References

Show 39 moreShow less
MoveEnter Open