Перейти к содержимому
Noroxi
CVE-2011-10007· NVD / CVE Program· CNA CPANSec

File::Find::Rule through 0.34 for Perl is vulnerable to Arbitrary Code Execution when `grep()` encounters a crafted file name

File::Find::Rule through 0.34 for Perl is vulnerable to Arbitrary Code Execution when `grep()` encounters a crafted filename. A file handle is opened with the 2 argument form of `open()` allowing an attacker controlled filename to provide the MODE parameter to `open()`, turning the filename into a command to be executed. Example: $ mkdir /tmp/poc; echo > "/tmp/poc/|id" $ perl -MFile::Find::Rule \     -E 'File::Find::Rule->grep("foo")->in("/tmp/poc")' uid=1000(user) gid=1000(user) groups=1000(user),100(users)

ВысокаяCVSS 8.8 · v3.1—Эксплойта нет Есть исправление
Опубликовано
5 июн. 2025 г.
Обновлено
16 июн. 2026 г.
EPSS
0,8 % · 55-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

35

Наблюдать

Пока низкий приоритет.

CVSS
35 / 40 · 8.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,8 %

Решение CISA SSVC

Эксплуатация
proof of concept
Автоматизируемо
нет
Техническое влияние
полное

Vulnrichment: входные данные дерева решений CISA.

Затронутые системы

—

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (CPANSec). Не зависят от анализа CPE в NVD и обычно опережают его.

  • RCLAMP File::Find::Rule

    • до 0.34 включительнозатронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8perl-File-Find-Ruleдо 0.34-9.el8_100.34-9.el8_10
AlmaLinux:9perl-File-Find-Ruleдо 0.34-19.1.el9_60.34-19.1.el9_6
Debian:11libfile-find-rule-perlдо 0.34-1+deb11u10.34-1+deb11u1
Debian:12libfile-find-rule-perlдо 0.34-4~deb12u10.34-4~deb12u1
Debian:13libfile-find-rule-perlдо 0.34-40.34-4
openSUSE:Tumbleweedperl-File-Find-Ruleдо 0.350.0-1.10.350.0-1.1
Red Hat:enterprise_linux:8::crbperl-File-Find-Ruleдо 0:0.34-9.el8_100:0.34-9.el8_10
Red Hat:enterprise_linux:9::crbperl-File-Find-Ruleдо 0:0.34-19.1.el9_60:0.34-19.1.el9_6
Red Hat:rhel_els:7perl-File-Find-Ruleдо 0:0.33-5.el7_9.10:0.33-5.el7_9.1
Red Hat:rhel_els:7perl-File-Find-Rule-Perlдо 0:1.13-2.el7_9.10:1.13-2.el7_9.1
Red Hat:rhel_eus:9.4::crbperl-File-Find-Ruleдо 0:0.34-19.el9_4.10:0.34-19.el9_4.1
Rocky Linux:8perl-File-Find-Ruleдо 0:0.34-9.el8_100:0.34-9.el8_10
Rocky Linux:9perl-File-Find-Ruleдо 0:0.34-19.1.el9_60:0.34-19.1.el9_6
SUSE:Linux Enterprise Module for Basesystem 15 SP6perl-File-Find-Ruleдо 0.34-150000.3.3.10.34-150000.3.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6perl-File-Find-Ruleдо 0.34-150000.3.3.10.34-150000.3.3.1

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
almalinux:perl-File-Find-Rule0.34-19.1.el9_6 · AlmaLinux:9Реестр пакетов (OSV)
debian:libfile-find-rule-perl0.34-4~deb12u1 · Debian:12Реестр пакетов (OSV)
opensuse:perl-File-Find-Rule0.34-150000.3.3.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
red hat:perl-File-Find-Rule0:0.34-19.1.el9_6 · Red Hat:enterprise_linux:9::crbРеестр пакетов (OSV)
red hat:perl-File-Find-Rule-Perl0:1.13-2.el7_9.1 · Red Hat:rhel_els:7Реестр пакетов (OSV)
rocky linux:perl-File-Find-Rule0:0.34-19.1.el9_6 · Rocky Linux:9Реестр пакетов (OSV)
suse:perl-File-Find-Rule0.34-150000.3.3.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP6Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Пользователь должен открыть ссылку или посетить страницу.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

nvd-secondary

Первопричина

Пользовательский ввод вставляется в команду оболочки как текст. Оболочка может интерпретировать специальные символы во вводе как часть команды.

Ошибка в коде

Весь класс CWE-78

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
const host = req.body.host;exec("ping -c 1 " + host, onResult);

Исправленный код

ts
const host = req.body.host;if (!/^[a-z0-9.-]{1,253}$/i.test(host)) return res.sendStatus(400);execFile("ping", ["-c", "1", host], onResult);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи