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

Deja de leer sobre bugs y empieza a cazarlos

Sin tarjeta · Academy gratis · cancela cuando quieras

Crear cuenta gratis

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.

Gratis · sin cuenta

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

Resolver

Sigue aprendiendo · cuenta gratis

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

Crear cuenta

Artículos relacionados

2.786

hunters entrenando

63

labs de hackeos reales

1.767

completaciones

$14.790

pagados por estos bugs

37 flags capturadas esta semana·Hackeos reales de HackerOne · YesWeHack · Bugcrowd·Sin permanencia·Academy gratis

La comunidad

Esto no es una plataforma con usuarios.Es gente rompiendo lo mismo que tú.

Dentro se pregunta, se enseña lo que se ha encontrado y se resuelve en grupo lo que atascaría a cualquiera solo. Se entra gratis: sin cuenta, sin plan y sin dejar el correo.

Entrar a la comunidad de BBLABS en Discord
Entrar al Discord

Es gratis y abierto. No hace falta tener cuenta en BBLABS para entrar.