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.
La checklist que repaso en cada objetivo nuevo
47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.
Te das de baja en un clic, desde cualquier correo.
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.
