CVE-2026-58092 in FreeBSDinformação

Sumário

de VulDB • 26/08/2026

No FreeBSD 15.0, a estrutura do kernel usada para representar credenciais de usuário foi alterada: anteriormente, o ID do grupo primário era armazenado no primeiro elemento da matriz que continha a lista de IDs dos grupos suplementares; agora, o ID do grupo primário é armazenado em um campo dedicado. Essa alteração foi principalmente interna ao kernel e não visível para o usuário.

Uma função, `group_is_primary()`, não foi atualizada corretamente como parte dessa transição. Esta função é usada pelo `mac_do` para determinar o ID do grupo primário da credencial após a aplicação de uma regra de transição, utilizada quando o destino da regra não especifica explicitamente um grupo.

Como resultado, com certas regras `mac_do`, é possível que uma troca de credenciais defina incorretamente o ID do grupo primário para o ID armazenado no primeiro elemento da matriz de grupos suplementares da credencial original.

Se a lista de grupos suplementares estiver vazia, esse valor será 0, correspondente ao grupo "wheel". Por exemplo, uma regra como `uid=1001>uid=1002` pode ser explorada para definir o ID do grupo primário como 0, mesmo que o processo não pertencesse originalmente ao grupo 0.

Certas regras `mac_do` podem ser exploradas para definir o ID de grupo de um processo como 0. Note no entanto que a regra deve se aplicar ao chamador para que o bug seja acionado; por exemplo, dado o conjunto de regras "uid=1001>uid=1002", o usuário deve ter o ID de usuário 1001 para acionar o bug.

Além disso, usuários logados geralmente terão uma lista não vazia de grupos suplementares, caso em que o bug pode no pior cenário ser usado para definir o primeiro ID do grupo suplementar da credência como seu ID de grupo primário. Os processos devem remover-se explicitamente de todos os grupos suplementares, usando a chamada de sistema privilegiada `setgroups(2)`, para explorar o bug e definir 0 como o ID do grupo primário.

Como a associação ao grupo 0 é frequentemente usada para permitir escalonamento controlado de privilégios, o bug pode ser ainda mais explorável para obter privilégios root, dependendo da configuração do sistema. Por exemplo, um conjunto de regras como o seguinte poderia ser explorado por um processo executando-se como usuário 1001 e com uma lista vazia de grupos suplementares: "uid=1001>uid=1002;gid=0>uid=0".

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Freebsd

Reservar

29/06/2026

Divulgação

26/08/2026

Moderação

aceite

Entrada

VDB-395664

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!