
Prova di concetto per CVE-2026-22008 che dimostra l'iniezione di layer AWS Lambda tramite ARN non attendibili, consentendo l'esecuzione arbitraria di codice e il furto di credenziali nelle funzioni interessate.
# 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 funzione AWS Lambda include un Lambda Layer da un ARN condiviso pubblicamente ma non attendibile. Il codice del layer viene eseguito all'interno dell'ambiente di esecuzione della funzione, consentendo a chi pubblica il layer di rubare credenziali, esfiltrare dati ed eseguire codice arbitrario.
Distribuisci la funzione vittima utilizzando lo script vulnerabile (richiede una sandbox AWS):
python deploy_vulnerable_lambda.py
Il handler del layer viene invocato a ogni richiesta, comunicando con l'esterno.