
Prueba de concepto para CVE-2026-22008 que demuestra la inyección de capas de AWS Lambda mediante ARNs no confiables, lo que permite la ejecución de código arbitrario y el robo de credenciales en las funciones afectadas.
# deploy_vulnerable_lambda.py - Lambda function using a layer from untrusted account
import boto3
lambda_client = boto3.client('lambda')
# Attacker publishes a public layer containing malicious code
# Victim function references the layer ARN
response = lambda_client.create_function(
FunctionName='victim-func',
Runtime='python3.9',
Role='arn:aws:iam::123456789012:role/lambda-role',
Handler='index.handler',
Code={'ZipFile': open('function.zip','rb').read()},
Layers=['arn:aws:lambda:us-east-1:123456789012:layer:poisoned:1'] # public, but owned by attacker
)
print("Function created with malicious layer")
Una función de AWS Lambda incluye una capa de Lambda (Lambda Layer) de un ARN compartido públicamente pero no confiable. El código de la capa se ejecuta dentro del entorno de ejecución de la función, lo que permite al publicador de la capa robar credenciales, exfiltrar datos y ejecutar código arbitrario.
Despliegue la función víctima usando el script vulnerable (requiere un sandbox de AWS):
python deploy_vulnerable_lambda.py