
Оружиезированный локальный эксплойт повышения привилегий для CVE-2026-7867 в udisks2, использующий подмену монтирования as-user для обхода PolicyKit и получения root-оболочки.
as-user → обход авторизации → монтирование в root-контексте → LPECVE-2026-7867 — это локальная уязвимость повышения привилегий в udisks2, связанная с D-Bus-методом Filesystem.Mount, опцией as-user, потоками монтирования, управляемыми через fstab, и ошибочной обработкой авторизации.
Этот приватный репозиторий содержит технические исследовательские заметки и PoC-скрипты, использованные для проверки проблемы в контролируемой лабораторной среде.
Уязвимость была обнаружена, и о ней было сообщено:
| Azizcan Daştan | azqzazq1 |
| Özlem Ozan | oz7oz7 |
Проблеме был присвоен идентификатор:
CVE-2026-7867
Уязвимость вызвана ошибочными доверительными отношениями между реальным UID вызывающего D-Bus процесса и вычисляемым/эффективным UID, формируемым опцией монтирования as-user.
В уязвимых сценариях непривилегированный локальный пользователь может повлиять на путь выполнения монтирования таким образом, что монтирование файловой системы выполняется в привилегированном/root-контексте без ожидаемого поведения авторизации PolicyKit.
Суть ошибки не просто в «контролируемых пользователем опциях монтирования».
Настоящая проблема в следующем:
udisks2не может последовательно различать исходную идентичность вызывающего процесса и вычисляемую идентичностьas-userпри авторизации и выполнении монтирования через fstab.
| Поле | Значение |
|---|---|
| CVE | CVE-2026-7867 |
| Продукт | udisks2 |
| Компонент | Filesystem.Mount |
| Тип атаки | Локальное повышение привилегий |
| Примитив | подмена as-user |
| Граница безопасности | идентичность вызывающего D-Bus → привилегированное выполнение монтирования |
| Уровень авторизации | авторизация монтирования PolicyKit / fstab |
| Вендор | Red Hat / апстрим udisks |
| Статус | Исправление в работе / скоординированное раскрытие |
| Планируемый релиз с исправлением | udisks 2.11.2 |
Уязвимая логика связана с путём обработки монтирования через fstab внутри udisks2, особенно когда запрос на монтирование включает:
Filesystem.Mount
as-user
x-udisks-auth
user
users
Критичные с точки зрения безопасности области:
D-Bus caller identity
↓
as-user option handling
↓
fstab authorization logic
↓
PolicyKit decision flow
↓
root-context mount execution
┌─────────────────────────────┐
│ Unprivileged Local User │
└──────────────┬──────────────┘
│
│ Filesystem.Mount
│ with as-user influence
▼
┌─────────────────────────────┐
│ udisks2 / udisksd │
│ privileged system daemon │
└──────────────┬──────────────┘
│
│ fstab logic evaluates
│ user/auth options
▼
┌─────────────────────────────┐
│ Authorization Gap │
│ mount_other_user not │
│ enforced in skipped path │
└──────────────┬──────────────┘
│
│ root-context branch reached
▼
┌─────────────────────────────┐
│ Filesystem Mounted │
│ without expected auth flow │
└──────────────┬──────────────┘
│
│ impact depends on mount flags
▼
┌─────────────────────────────┐
│ Local Privilege Escalation │
│ controlled lab validation │
└─────────────────────────────┘
Уязвимое поведение возникает из-за ошибки путаницы идентичности.
В системе существует несколько концепций идентичности:
real D-Bus caller UID
computed as-user UID
effective mount UID
udisksd daemon privilege context
Уязвимый поток не обеспечивает согласованное соблюдение этих идентичностей.
В частности:
mount_other_user может стать истинным, потому что используется as-userx-udisks-auth, user или users, могут влиять на путь авторизацииmount_other_user надёжно не применяется вне этого блокаРезультатом является обход локальной границы привилегий.
x-udisks-authОпция x-udisks-auth должна принудительно запускать административный поток авторизации PolicyKit.
Ожидаемое поведение:
mount request
↓
attempt mount as caller
↓
permission/auth failure
↓
PolicyKit filesystem-fstab check
↓
admin approval
↓
mount as authorized privileged action
Уязвимое поведение:
mount request with as-user influence
↓
computed identity affects execution
↓
mount succeeds too early
↓
PolicyKit auth path is not reached as expected
↓
privileged mount state is achieved
Это делает модель безопасности вокруг x-udisks-auth ненадёжной в уязвимом пути.
Ожидаемая модель:
Unprivileged user
↓
D-Bus mount request
↓
PolicyKit / fstab authorization
↓
restricted mount behavior
Нарушенная модель:
Unprivileged user
↓
D-Bus mount request with as-user spoofing
↓
authorization logic mismatch
↓
root-context mount execution
Ошибка особенно серьезна, потому что затронутый сервис работает с повышенными привилегиями.
Успешная эксплуатация может позволить локальному непривилегированному пользователю монтировать файловую систему через udisks2 в пути выполнения с root-контекстом без ожидаемого запроса авторизации.
В зависимости от файловой системы и флагов монтирования последствия могут включать:
Это локальная уязвимость.
Соответствующие условия включают: