При записи содержимого файла WinRAR выполняет нормализацию пути, удаляя добавленные пробелы, поскольку Windows не разрешает файлы с конечными пробелами.

Наконец, WinRAR вызывает ShellExecuteExW, передавая ненормализованный путь с пробелом в конце «%TEMP%\{random_directory}\poc.png_» для выполнения выбранного пользователем файла. Внутренне ShellExecute пытается идентифицировать расширения файлов, вызывая «shell32!PathFindExtension», но это не удается, поскольку расширения с пробелами считаются недействительными. Вместо блокировки ShellExecute вызывает «shell32!ApplyDefaultExts», который перебирает все файлы в каталоге, находя и выполняя первый файл с расширением, соответствующим одному из жестко закодированных файлов: «.pif, .com, .exe, . bat, .lnk, .cmd».

Обратите внимание: хотя в большинстве примеров использования CVE-2023-3883 используется запись архива с завершающим пробелом, это не является обязательным требованием, и пробела в любой позиции в расширении файла достаточно, чтобы вызвать ошибку (например, ввод с « poc.valid_ext» также приведет к использованию пути кода «shell32!ApplyDefaultExts»).

Source

ЧИТАТЬ  NYT Connections: заметки и ответы за среду, 17 апреля | Цифровые тенденции