← volver
CVE-2023-0386highbajo ataqueCWE-282

CVE-2023-0386

91Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 7.8epss 7.9%
de la publicación al arma29 días
Publicada en NVD22 mar
1ª PoC+29d
metasploit22 mar
CISA KEV+818d
probabilidad de explotación
7.9%top 6% de las CVE
explotación observada
CISA + VulnCheck
31 exploit(s) público(s)
Acción exigida por CISAplazo 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.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
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).
Corregidas en
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.

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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
Productos afectados
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/708dfdecb126no verificadovulncheckvulncheck.com/xdb/917dedee61f9no verificadovulncheckvulncheck.com/xdb/8e83ff46f752no verificadovulncheckvulncheck.com/xdb/6fd75a13aef7no verificadovulncheckvulncheck.com/xdb/84dd9b75426fno verificadovulncheckvulncheck.com/xdb/cee2b1a019b8no verificadovulncheckvulncheck.com/xdb/6b752e342371no verificadovulncheckvulncheck.com/xdb/8bb70e7dbfc7no verificadovulncheckvulncheck.com/xdb/c79ab92abc39no verificadovulncheckvulncheck.com/xdb/25bf65fa10ffno verificadovulncheckvulncheck.com/xdb/6278e1e62115no verificadovulncheckvulncheck.com/xdb/14fb1eaa3bcano verificadovulncheckvulncheck.com/xdb/9d683f411803no verificadovulncheckvulncheck.com/xdb/81fd83df2618no verificadocve_referencepacketstormsecurity.com/files/173087/Kernel-Live-Patch-Security-Notice-LSN-0095-1.htmlno verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.