Respuesta rápida
Una plataforma de IA permitía a sus usuarios escribir lógica de bot en Python ejecutado en un "sandbox". El sandbox no bloqueaba el módulo os. Dos líneas (os.popen("env").read(), os.popen("whoami; uname -a").read()) bastaban para ejecutar comandos del sistema, leer variables de entorno internas y huellear el runtime subyacente. Severidad: Critical.
1. Contexto — ¿Qué es el Python Sandbox?
La plataforma permite a los usuarios crear bots con lógica personalizada escribiendo código Python directamente en la app. Este código se ejecuta en un entorno llamado "sandbox" cuando el bot recibe mensajes.
La promesa del sandbox es que el código corre en un entorno controlado y aislado. El fallo encontrado demuestra que ese aislamiento no existe: desde el código Python del bot se pueden ejecutar directamente comandos del sistema operativo del servidor.
2. El fallo — Shell Access sin restricciones
El sandbox no bloquea el módulo os ni las funciones que permiten ejecutar comandos del sistema. Concretamente, os.popen() abre un subproceso de shell y devuelve su output directamente en la respuesta del bot.
PoC A — Variables de entorno
import os
print(os.popen("env").read())
Este código ejecuta el comando env en el servidor y devuelve todas las variables de entorno del proceso. El output observado incluye variables internas del sistema de ejecución y paths internos del runtime (/__runtime/*), que revelan que el sandbox corre sobre una plataforma serverless de Python conocida públicamente.
Sigue leyendo el chain completo
La parte que falta incluye el PoC paso a paso, código de explotación y la cadena completa que llevó al impacto. Disponible para suscriptores.
Practica esto en un lab
Rce
Sigue aprendiendo · cuenta gratis
Guarda tu progreso, desbloquea payloads avanzados y rankea tus flags.
Artículos relacionados
Command Injection — bypasses con espacio, encoding y backticks
Inyección de comandos en endpoints que pasan input al shell. Bypasses de filtros: ${IFS}, $@, ;|&, encoded null bytes, output redirection a archivo.
Headless browsers — SSRF y RCE en endpoints que renderizan URLs
Endpoints que aceptan URLs para screenshots/PDF (Puppeteer, Playwright, wkhtmltopdf) son SSRF goldmine: cloud metadata, file://, gopher://, JS injection con XSS-to-RCE en chromium sandbox.
File Upload — bypasses de extension, content-type y magic bytes
10 bypasses para subir webshells: doble extensión, null byte, content-type spoof, magic bytes, polyglots, race conditions y abuso de path traversal.