Security: executable archives downloaded over plain HTTP with hash verification disabled (nohash) - MITM code execution
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Comienza con los puntos de llamada afectados en lgsm/modules/core_steamcmd.sh, update_mta.sh y command_install_resources_mta.sh; después, lee core_dl.sh alrededor de las líneas 217 y 445. Compara el manejo de las sumas de comprobación en install_server_files.sh. Se considera terminado cuando estos archivos comprimidos ejecutables usan HTTPS y verificación de sumas de comprobación antes de la extracción, y las rutas de instalación o actualización de SteamCMD y MTA siguen funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Security report (responsible disclosure)
Executable archives fetched over plain HTTP with hash verification disabled (nohash) — MITM code execution
Affected files:
lgsm/modules/core_steamcmd.sh:17-19lgsm/modules/update_mta.sh:12-13lgsm/modules/command_install_resources_mta.sh:17-18
fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "" "" "" "${tmpdir}" "steamcmd_linux.tar.gz" "nochmodx" "norun" "noforce" "nohash"
fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
chmod +x "${steamcmddir}/steamcmd.sh"
fn_fetch_file "http://linux.mtasa.com/dl/multitheftauto_linux_x64.tar.gz" ... "force" "nohash"
Chain
curl -L over plain HTTP (core_dl.sh:445) on first steamcmd install and on MTA updates → nohash bypasses fn_dl_hash entirely (core_dl.sh:217) → archive extracted into ${steamcmddir} / ${serverfiles} → steamcmd.sh is chmod +x'd and executed by every subsequent update/start; MTA binaries run at server start, and MTA resources execute as Lua inside the game server.
Any network attacker on path (or DNS hijack — no TLS involved) replaces the payload and gets shell execution as the LinuxGSM user, re-triggered automatically by update crons.
Severity
High — unauthenticated network position → persistent code execution.
Suggested fix
Serve both URLs over HTTPS (both hosts support it), and pin sha256 checksums the way install_server_files.sh already does for its tarballs. The existing MD5 pinning there is better than nothing but sha256 would be the modern baseline.
- Lenguaje dominante
- Shell
- Estrellas
- 4.9k
- Forks
- 870
- Merge medio
- 14 h 50 min
- PR fusionados (30 d)
- 109
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- 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 GameServerManagers/LinuxGSM
-
command: start engine: unity3d game: Assetto Corsa priority: high scope: single game type: feature
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
GameServerManagers/LinuxGSM#5099 ·
Los mantenedores suelen responder en 1 día
-
engine: source game: Team Fortress 2 game: Team Fortress 2 Classified info: docker info: steamcmd type: bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
GameServerManagers/LinuxGSM#5094 ·
Los mantenedores suelen responder en 1 día
-
type: bug
Dificultad 3/5 Medio día Aptitud para principiantes 42/100
GameServerManagers/LinuxGSM#5048 ·
Los mantenedores suelen responder en 1 día
-
engine: unity3d engine: unreal4 Epic game: 7 Days to Die game: ARK: Survival Evolved game: Rust info: dependency type: feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
GameServerManagers/LinuxGSM#5047 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
command: monitor type: feature
Dificultad 3/5 Medio día Aptitud para principiantes 42/100
GameServerManagers/LinuxGSM#4995 ·
Los mantenedores suelen responder en 1 día
Todos los issues de GameServerManagers/LinuxGSM
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Link Checker ReportAbiertoautomated issue report
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
a2aproject/A2A#2387 ·
Los mantenedores suelen responder en 4 días
-
Request: add Vibe TyperAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
curriculum documentation quality
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
githubnext/gh-aw-workshop#4965 ·
Los mantenedores suelen responder en 1 día
-
[feat] help flags for zi and zAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
ajeetdsouza/zoxide#1350 ·
Los mantenedores suelen responder en 2 días