← voltar
CVE-2023-0386highsob ataqueCWE-282

CVE-2023-0386

91Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 7.8epss 7.9%
da publicação à arma29 dias
Publicada no NVD22 de mar.
1ª PoC+29d
metasploit22 de mar.
CISA KEV+818d
probabilidade de exploração
7.9%top 6% das CVEs
exploração observada
simCISA + VulnCheck
31 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2025-07-08

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Resumo

Falha no subsistema OverlayFS do kernel Linux permite que um usuário local, dentro de um namespace de usuário sem privilégios, faça 'copy-up' de um arquivo com capabilities do Linux a partir de um mount nosuid para outro mount, preservando as capabilities de forma que ele pode escalar para root no host. É relevante porque a feature que abriu a janela de exploração — mounts de overlayfs sem privilégios — está habilitada por padrão em kernels 5.11+ e é amplamente usada por runtimes de contêiner e ferramentas de sandboxing (ex.: rootless containers), tornando o pré-requisito mais comum do que a descrição sugere.

Detalhamento técnico

A vulnerabilidade está na rotina de cópia (copy-up) do OverlayFS, em fs/overlayfs/copy_up.c. Quando um arquivo é promovido do lower dir (camada somente leitura, tipicamente montada com nosuid) para o upper dir (camada gravável, dentro de um mount overlay sem privilégios), o kernel não validava se o uid/gid do arquivo original tinha um mapeamento válido no user namespace do processo que fazia a montagem. CWE-282 (Improper Ownership Management) descreve o problema: a ausência dessa verificação permite que um uid/gid sem mapeamento explícito seja tratado de forma inconsistente com o restante do kernel — por exemplo, com o comportamento do overflow uid (65534) usado por stat(2) quando não há mapeamento.

Como é explorada

O vetor é 100% local (AV:L) e não requer interação de usuário, mas exige que o atacante consiga criar um user namespace sem privilégios e montar dentro dele um overlayfs — capacidade habilitada por padrão em kernels 5.11+ que suportam 'unprivileged mounts' de overlayfs (introduzida no commit 459c7c565ac3). O atacante posiciona um arquivo com capabilities do Linux (setuid-like via file capabilities) numa camada lower montada nosuid, força o copy-up para a camada upper dentro do seu próprio namespace, e o mapeamento de uid/gid inválido do arquivo resultante permite que as capabilities sejam efetivamente exercidas fora do isolamento pretendido do namespace, concedendo privilégios elevados — potencialmente root — no sistema host.

Versões

Afetadas
Kernel Linux a partir da série 5.11 (quando a feature de mounts overlayfs sem privilégios foi introduzida pelo commit 459c7c565ac3) até versões anteriores à aplicação do commit de correção. Debian: linux-5.10 antes de 5.10.179-1~deb10u1 (buster/LTS) e linux antes de 4.19.316-1 (ELTS).
Corrigidas em
Corrigido pelo commit 4f11ada10d0a de Miklos Szeredi, mesclado no upstream em 2023-01-27, com backport indicado para branches estáveis desde a v5.11. No Debian: linux-5.10 5.10.179-1~deb10u1 (DLA-3446-1) e linux 4.19.316-1 (DLA-3840-1); a versão específica do pacote corrigido via DSA-5402 (Debian stable) não constava no material lido — consulte o DSA-5402 diretamente.

Como se proteger

A correção definitiva é o commit 4f11ada10d0a (fs/overlayfs/copy_up.c), que passou a checar kuid_has_mapping()/kgid_has_mapping() no user_ns atual antes do copy-up e retorna -EOVERFLOW se o uid/gid não tiver mapeamento válido, alinhando o comportamento ao de 'cp -a' e às ACLs POSIX. O patch foi marcado para stable (Cc: stable@vger.kernel.org # v5.11), ou seja, deve ser backportado a qualquer branch estável a partir da 5.11, onde a feature de overlayfs sem privilégios foi introduzida. Como paliativo quando a atualização não é imediata, restringir ou desabilitar a criação de user namespaces sem privilégios (parâmetro de sysctl que controla unprivileged_userns_clone, quando disponível na distribuição) reduz a superfície de exploração, mas quebra funcionalidade de contêineres rootless e sandboxes que dependem disso — não é mitigação gratuita.

Como detectar

Não há assinatura de rede confiável, pois a exploração é inteiramente local. Em auditoria de sistema, sinais possíveis incluem chamadas de syscall mount com fstype 'overlay' originadas por processos não-root dentro de user namespaces recém-criados (visível via auditd com regras para mount/unshare/clone com CLONE_NEWUSER), tentativas de copy-up envolvendo arquivos com capabilities extraídos de mounts nosuid, e negações de MAC (SELinux/AppArmor) relacionadas a operações em overlayfs, se essas políticas estiverem ativas. A presença de módulo Metasploit e PoC pública facilita replicação em ambientes de teste, mas não fornece um IOC de rede ou log padronizado.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
A flaw was found in the Linux kernel, where unauthorized access to the execution of the setuid file with capabilities was found in the Linux kernel’s OverlayFS subsystem in how a user copies a capable file from a nosuid mount into another mount. This uid mapping bug allows a local user to escalate their privileges on the system.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · Kernel
PoCs públicas encontradas31
githubgithub.com/xkaneiki/CVE-2023-0386420githubgithub.com/chenaotian/CVE-2023-0386124githubgithub.com/sxlmnwb/CVE-2023-038651githubgithub.com/Fanxiaoyao66/CVE-2023-038621githubgithub.com/puckiestyle/CVE-2023-038618githubgithub.com/veritas501/CVE-2023-038610githubgithub.com/P4x1s/CVE-2023-03864githubgithub.com/Satheesh575555/linux-4.19.72_CVE-2023-03864githubgithub.com/orilevy8/cve-2023-03861githubgithub.com/julianertle/CVE-2023-0386-CTF0githubgithub.com/letsr00t/CVE-2023-03860githubgithub.com/churamanib/CVE-2023-03860githubgithub.com/EstamelGG/CVE-2023-0386-libs0githubgithub.com/dragosbanica/CVE-2023-0386_POC0githubgithub.com/karimelsheikh1/HTB-TwoMillion-Writeup0githubgithub.com/anxs3c/TwoMillion-Machine0vulncheckvulncheck.com/xdb/708dfdecb126não verificadovulncheckvulncheck.com/xdb/917dedee61f9não verificadovulncheckvulncheck.com/xdb/8e83ff46f752não verificadovulncheckvulncheck.com/xdb/6fd75a13aef7não verificadovulncheckvulncheck.com/xdb/84dd9b75426fnão verificadovulncheckvulncheck.com/xdb/cee2b1a019b8não verificadovulncheckvulncheck.com/xdb/6b752e342371não verificadovulncheckvulncheck.com/xdb/8bb70e7dbfc7não verificadovulncheckvulncheck.com/xdb/c79ab92abc39não verificadovulncheckvulncheck.com/xdb/25bf65fa10ffnão verificadovulncheckvulncheck.com/xdb/6278e1e62115não verificadovulncheckvulncheck.com/xdb/14fb1eaa3bcanão verificadovulncheckvulncheck.com/xdb/9d683f411803não verificadovulncheckvulncheck.com/xdb/81fd83df2618não verificadocve_referencepacketstormsecurity.com/files/173087/Kernel-Live-Patch-Security-Notice-LSN-0095-1.htmlnão verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.