Micro-VM guests unconditionally boot with root debug console on vsock 1026
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 67/100
Línea de trabajo
Lee cmd/ateom-microvm/run.go en la sección guestConfig() y cmd/ateom-microvm/internal/kata/config.go para trazar cómo se añaden los parámetros de la consola de depuración; comprueba también los puntos de llamada de kata.DebugConsoleDump en run.go. Se considera completado cuando los parámetros de la consola solo se activan con --kata-debug=true, las compilaciones de producción y los manifiestos de release no los activan y las rutas de arranque y fallo relevantes siguen funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This issue was generated as part of an AI review of pre-GA debug and diagnostic surfaces.
Problem Description
In cmd/ateom-microvm/run.go:716-722, guestConfig() unconditionally appends kata.WithDebugConsole() to the guest kernel command line parameters:
func (s *AteomService) guestConfig() (memMiB, vcpus int, kparams string) {
kparams = kata.WithDebugConsole()
if s.kataDebug {
kparams = kata.WithAgentDebug(kparams)
}
return kata.DefaultMemoryMiB, kata.DefaultVCPUs, kparams
}
In cmd/ateom-microvm/internal/kata/config.go:30-44, debugConsoleKernelParams is defined as:
baseKernelParams + " agent.debug_console agent.debug_console_vport=1026"
This configuration is applied on every actor boot, independent of whether the --kata-debug flag is enabled.
Impact
- The in-guest
kata-agentbinds an unauthenticated interactive root shell (/bin/bashor/bin/sh) on vsock port 1026. - Any entity with access to the host-side hybrid vsock socket (
/run/vc/vm/<actorUID>/hybrid.vsockor inside the worker pod) can connect withCONNECT 1026and immediately obtain a root interactive shell inside the tenant's micro-VM without authentication or audit logging. - On container start failures (
startActorContainersandstartRootfsContainer),ateom-microvmcallskata.DebugConsoleDump(run.go:881, 911) to execute shell commands (ip addr,ip route,ip neigh) inside the guest via the debug console and logs the output to host logs.
Proposed Remediation
- Remove
kata.WithDebugConsole()from the default boot parameters inguestConfig(). - Gate
agent.debug_consoleandagent.debug_console_vport=1026strictly behind--kata-debug=truefor local development. - Ensure production builds and release manifests do not enable in-guest debug consoles.
- Lenguaje dominante
- Go
- Estrellas
- 5.7k
- Forks
- 612
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 555
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de agent-substrate/substrate
-
[Low] CSI plugin builds staging directories from storage_volume_id without a containment checkPosiblemente ocupada @ericcurtin la tomó hace 2 días. Abiertoarea/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
agent-substrate/substrate#2935 ·
Los mantenedores suelen responder en 1 día
-
[Low] CleanupSandboxState joins an unchecked id into paths it RemoveAll()sPosiblemente ocupada @ericcurtin la tomó hace 3 días. Abiertoarea/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agent-substrate/substrate#2932 ·
Los mantenedores suelen responder en 1 día
-
[Low] guestVolumeSource can map host paths containing ".." outside the microVM guest sharePosiblemente ocupada @jiayimeow la tomó hace 6 días. Abiertoarea/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
agent-substrate/substrate#2920 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Low] setupImageVolumes builds host mount paths from vol.Name without a containment checkPosiblemente ocupada @abhisheksharma2411 la tomó hace 5 días. Abiertoarea/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
agent-substrate/substrate#2919 ·
Los mantenedores suelen responder en 1 día
-
[Low] ate-api-server accepts client certificates chained to system roots when --pod-identity-ca-certs is unsetPosiblemente ocupada @abhisheksharma2411 la tomó hace 5 días. Abiertoarea/security kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
agent-substrate/substrate#2918 ·
Los mantenedores suelen responder en 1 día
Todos los issues de agent-substrate/substrate
Issues similares
-
fix(handlers): explicitly set Content-Type header in static Index handlerPosiblemente ocupada @kage-zero la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
eugenioenko/ttt#1206 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
open-policy-agent/opa#9426 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
rorkai/App-Store-Connect-CLI#3192 ·
Los mantenedores suelen responder en 1 día
-
t:urlDecodeUni does not map U+3002 and U+FF61 to a dot, unlike ModSecurityPosiblemente ocupada @fzipi la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día