Nuevos labs cada semana — Accede a todos desde 5€/mes

Nivel AvanzadoPremium

RCE en sandbox de Python — del editor de bots al shell del servidor

El sandbox de Python de una plataforma de IA no bloqueaba os.popen(). Dos líneas de Python para ejecutar comandos del sistema, leer variables de entorno y huellear el runtime.

Gorka El Bochi9 de mayo de 202612 min

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

python
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

Resolver

Sigue aprendiendo · cuenta gratis

Guarda tu progreso, desbloquea payloads avanzados y rankea tus flags.

Crear cuenta

Artículos relacionados