
Proof-of-concept für CVE-2026-22008, das die AWS Lambda-Layer-Injektion über nicht vertrauenswürdige ARNs demonstriert und beliebige Codeausführung sowie den Diebstahl von Anmeldeinformationen in betroffenen Funktionen ermöglicht.
# 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")
Eine AWS-Lambda-Funktion bindet einen Lambda-Layer von einer öffentlich freigegebenen, aber nicht vertrauenswürdigen ARN ein. Der Code des Layers läuft innerhalb der Ausführungsumgebung der Funktion und ermöglicht es dem Herausgeber des Layers, Anmeldeinformationen zu stehlen, Daten zu exfiltrieren und beliebigen Code auszuführen.
Stellen Sie die Opferfunktion mithilfe des anfälligen Skripts bereit (erfordert AWS-Sandbox):
python deploy_vulnerable_lambda.py
Der Handler des Layers wird bei jeder Anfrage aufgerufen und meldet sich beim Angreifer zurück.