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

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

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

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

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

Категории

Все категории
Loading categories
litebox-seccomp-open-rdonly — Высокое локальное чтение файлов: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY не имеет проверки пути хоста | Kitploit
Инструменты/GitHubGitHub/abraxas/litebox-seccomp-open-rdonly
Безопасность контейнеровДинамический анализ (песочница)Анализ уязвимостейЭксплуатацияСбор информацииСтатьи и ИсследованияЛаборатории и Практика
GitHub

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
abraxas/litebox-seccomp-open-rdonly

litebox-seccomp-open-rdonly

Высокое локальное чтение файлов: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY не имеет проверки пути хоста

Репозиторий
114 дней назадЕщё не проверено

Abraxas Labs - litebox-seccomp-open-rdonly

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-seccomp-open-rdonly

litebox-seccomp-open-rdonly

Класс: Чтение файлов (граница ФС песочницы) Достижимость: Локальная

LiteBox v0.1.0 (d8556e3) — Microsoft

Документированный раннер для Linux-userland (litebox-runner-linux-userland) устанавливает seccomp-фильтр с запретом по умолчанию, а затем загружает гостевой ELF в том же процессе. SYS_open находится в списке разрешённых, когда аргумент 1 (flags) — это dword, равный OFlags::RDONLY (0). Предиката по пути нет. Гость, выполняющий реальный syscall с флагами 0, открывает хост-VFS от имени UID раннера, а затем read / mmap этих байтов. Перезаписыватель ELF на этом пине не является границей безопасности. --rewrite-syscalls — это -Z и по умолчанию выключен.

Эта недоработка — чтение хост-ФС. Это не запись на хост, не exec, не ptrace, не LPE и не RCE.

IDCVE пока нет
КлассЧтение файлов (граница ФС песочницы)
ДостижимостьЛокальная (недоверенный гостевой бинарник в процессе раннера)
CWECWE-284, CWE-862
CVSSHigh: 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Продуктmicrosoft/litebox
Затронутоv0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) платформа Linux userland + раннер
Аутентификациягость уже запущен внутри песочницы
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1, linux/amd64

Что может сделать атакующий

Кто: недоверенный гостевой бинарник в litebox-runner-linux-userland. Вендор (CvvT в GitHub #1006) и документация крейта перезаписывателя говорят, что ELF-трамплины не являются границей безопасности. Безопасность Linux userland — это данный фильтр. enable_seccomp_filter работает с запретом по умолчанию (Errno(EINVAL) в release) с TSYNC и PR_SET_NO_NEW_PRIVS. Дыра — это SYS_open с флагами Eq 0 без проверки пути. Комментарий в page_mgmt.rs гласит, что CoW-маппинг повторно открывает файл хост-программы после включения фильтра, вместо удержания заранее открытого FD.

Разведка (подтверждено в лаборатории)

Метод + точка сбросаПривилегия
реальный SYS_open("/oracle/secret", 0), затем SYS_readбайты хост-файла, которые может прочитать UID раннера. Лаборатория: fd 3, 35 байт, свидетель LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS. Путь — это хост-VFS initramfs, а не гостевой overlay.

Разведка (выведено из того же фильтра; не лабораторный оракул)

Метод + точка сбросаПривилегия
SYS_open("/etc/passwd", 0), затем read / mmapдоступные для чтения всем хост-файлы от имени UID раннера
SYS_open путей, принадлежащих раннеру (ssh-ключи, .env, kubeconfig, облачные учётные данные, tar из --initial-files)эти байты, если UID может их открыть
SYS_open("/etc/shadow", 0)хеши shadow только если раннер запущен от root
SYS_open("/proc/self/maps", 0)маппинги раннера, включая хост .text / libc (тот же процесс)
SYS_open("/proc/self/mem", 0), затем mmap этого FDадресное пространство раннера, которое UID может прочитать через procfs. pread — несовпадающий запрет; SYS_mmap разрешён.

Целостность

Отсутствует для этой недоработки. Все подтверждённые в лаборатории негативные результаты вернули errno=22 EINVAL и не создали файлов:

Метод + точка сбросаРезультат
SYS_open O_RDWREINVAL
SYS_open O_CREATEINVAL, файл не создан
SYS_openat даже с O_RDONLYEINVAL
SYS_execveEINVAL
socket, ptraceEINVAL (дополнительный несовпадающий запрет)

openat / openat2 / creat / unlink / chmod остаются несовпадающим запретом на этом пине.

Доступность

Не в баре.

Чего эта недоработка не даёт

  • Запись на хост, exec, ptrace, process_vm_readv, io_uring_setup, bpf, mount, pivot_root, unshare, setns, connect, ioctl, getdents
  • x32 / i386: seccompiler 0.5.0 добавляет префикс AUDIT_ARCH_X86_64 или KILL_PROCESS
  • clone3 наследует фильтр; запись uid_map требует заблокированного open
  • Гостевая виртуальная ФС (in_mem + tar_ro) не изменена. Эта недоработка — хост-VFS через реальный syscall
  • В Windows userland нет seccomp; тот раннер не заявляет эту границу
  • Не RCE, не LPE, не побег из песочницы к другому UID

Как я это нашёл

Я зафиксировал microsoft/litebox v0.1.0 (d8556e3, 2026-10-07), а не main. Восемнадцать поисков по исходникам. Крейт перезаписывателя и GitHub #1006 уже говорят, что трамплины не являются границей. Границей является фильтр Linux userland. SYS_open с флагами 0 присутствует, чтобы CoW мог повторно открыть файл программы. Проверки пути нет.

Неверный поворот: Docker Desktop Rosetta и qemu-user-static оба отказываются от seccomp(SET_MODE_FILTER) на этом хосте (EINVAL / ENOSYS). Поэтому лаборатория загружает x86_64 Alpine virt-ядро под qemu-system-x86_64 TCG и запускает скопированный фильтр как PID 1, чтобы BPF попал на реальное x86_64-ядро. Скопированы правила seccompiler 0.5.0, а не вызов enable_seccomp_filter из дерева и не весь workspace.

Лаборатория

cd lab
./run.sh

Loopback 127.0.0.1:19110. Проект Compose litebox-seccomp-open-rdonly. Платформа linux/amd64. Свидетель LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS. Последняя строка:

SUCCESS litebox-seccomp-open-rdonly open-rdonly-ok rdwr-einval openat-einval execve-einval LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS

Исправление

Убрать SYS_open из фильтра и заранее открыть CoW-FD до PR_SET_SECCOMP, либо добавить предикат по пути, который не может видеть хост-пути вне гостевой ФС. Несовпадающий запрет уже покрывает openat.

Приём сообщений вендором — MSRC (https://msrc.microsoft.com/create-report). Не открывайте публичный issue на GitHub в microsoft/litebox.

Контакты

Abraxas Labs — abraxaslabs.tech — github.com/abraxas — @abraxas_null — [email protected]

Скачать инструмент