
Exploit de escalada de privilégios local armado para CVE-2026-7867 no udisks2, usando spoofing de montagem as-user para contornar o PolicyKit e obter um shell root.
as-user Spoofing → Authorization Bypass → Root-context Mount → LPECVE-2026-7867 é uma vulnerabilidade de escalada local de privilégios no udisks2 envolvendo o método D-Bus Filesystem.Mount, a opção as-user, fluxos de montagem gerenciados por fstab e manipulação de autorização defeituosa.
Este repositório privado contém as notas técnicas de pesquisa e scripts PoC usados para validar o problema em um ambiente de laboratório controlado.
A vulnerabilidade foi descoberta e reportada por:
| Azizcan Daştan | azqzazq1 |
| Özlem Ozan | oz7oz7 |
A emissão foi atribuída:
CVE-2026-7867
A vulnerabilidade é causada por uma relação de confiança defeituosa entre o UID real do chamador D-Bus e o UID calculado/efetivo produzido pela opção de montagem as-user.
Em fluxos vulneráveis, um utilizador local não privilegiado pode influenciar o caminho de execução da montagem de modo que uma montagem de sistema de ficheiros seja realizada num contexto privilegiado/root sem o comportamento esperado de autorização do PolicyKit.
O bug central não é simplesmente "opções de montagem controladas pelo utilizador".
O verdadeiro problema é:
O
udisks2falha em distinguir consistentemente a identidade do chamador original da identidadeas-usercalculada durante a autorização e execução da montagem fstab.
| Campo | Valor |
|---|---|
| CVE | CVE-2026-7867 |
| Produto | udisks2 |
| Componente | Filesystem.Mount |
| Tipo de Ataque | Escalada Local de Privilégios |
| Primitiva | Spoofing de as-user |
| Limite de Segurança | Identidade do chamador D-Bus → execução de montagem privilegiada |
| Camada de Autorização | Autorização PolicyKit / fstab |
| Fornecedor | Red Hat / upstream udisks |
| Estado | Correção em andamento / divulgação coordenada |
| Correção Planeada | udisks 2.11.2 |
A lógica vulnerável está associada ao caminho de manipulação de montagem fstab dentro do udisks2, especialmente quando o pedido de montagem envolve:
Filesystem.Mount
as-user
x-udisks-auth
user
users
As áreas relevantes de sensibilidade de segurança são:
Identidade do chamador D-Bus
↓
Manipulação da opção as-user
↓
Lógica de autorização fstab
↓
Fluxo de decisão PolicyKit
↓
Execução de montagem em contexto root
┌─────────────────────────────┐
│ Utilizador local não privilegiado │
└──────────────┬──────────────┘
│
│ Filesystem.Mount
│ com influência as-user
▼
┌─────────────────────────────┐
│ udisks2 / udisksd │
│ daemon de sistema │
│ privilegiado │
└──────────────┬──────────────┘
│
│ A lógica fstab avalia
│ opções de utilizador/autorização
▼
┌─────────────────────────────┐
│ Lacuna de Autorização │
│ mount_other_user não │
│ aplicado no caminho ignorado│
└──────────────┬──────────────┘
│
│ Ramo contexto-root alcançado
▼
┌─────────────────────────────┐
│ Sistema de Ficheiros Montado│
│ sem o fluxo de autorização │
│ esperado │
└──────────────┬──────────────┘
│
│ Impacto depende dos flags de montagem
▼
┌─────────────────────────────┐
│ Escalada Local de Privilégios│
│ validação em laboratório │
│ controlado │
└─────────────────────────────┘
O comportamento vulnerável provém de um bug de confusão de identidade.
O sistema tem múltiplos conceitos de identidade:
UID real do chamador D-Bus
UID as-user calculado
UID efetivo da montagem
Contexto de privilégio do daemon udisksd
O fluxo vulnerável falha em aplicar essas identidades de forma consistente.
Em particular:
mount_other_user pode tornar-se verdadeiro porque as-user é usadox-udisks-auth, user, ou users podem afetar o caminho de autorizaçãomount_other_user não é aplicada de forma fiável fora desse blocoO resultado é uma bypass do limite de privilégio local.
x-udisks-authA opção x-udisks-auth supostamente força um fluxo de autorização PolicyKit administrativo.
Comportamento esperado:
pedido de montagem
↓
tentar montar como chamador
↓
falha de permissão/autorização
↓
verificação PolicyKit filesystem-fstab
↓
aprovação administrativa
↓
montagem como ação privilegiada autorizada
Comportamento vulnerável:
pedido de montagem com influência as-user
↓
identidade calculada afeta execução
↓
montagem é bem-sucedida demasiado cedo
↓
caminho de autorização PolicyKit não é alcançado como esperado
↓
estado de montagem privilegiada é alcançado
Isto torna o modelo de segurança em torno de x-udisks-auth não fiável no caminho vulnerável.
Modelo esperado:
Utilizador não privilegiado
↓
Pedido de montagem D-Bus
↓
Autorização PolicyKit / fstab
↓
Comportamento restrito de montagem
Modelo quebrado:
Utilizador não privilegiado
↓
Pedido de montagem D-Bus com spoofing as-user
↓
Incompatibilidade na lógica de autorização
↓
Execução de montagem em contexto root
O bug é especialmente grave porque o serviço afetado é executado com privilégios elevados.
A exploração bem-sucedida pode permitir que um utilizador local não privilegiado monte um sistema de ficheiros através do udisks2 num caminho de execução em contexto root sem o prompt de autorização esperado.
Dependendo do sistema de ficheiros e dos flags de montagem, o impacto pode incluir: