# AWS Lambda – Runtime Pinning/Rollback Abuse via PutRuntimeManagementConfig

{{#include ../../../../banners/hacktricks-training.md}}

Abusare di `lambda:PutRuntimeManagementConfig` per fissare una funzione su una specifica versione del runtime (Manual) o bloccare gli aggiornamenti (FunctionUpdate). Questo preserva la compatibilità con layer/wrapper malevoli e può mantenere la funzione su un runtime obsoleto e vulnerabile per facilitare lo sfruttamento e la persistenza a lungo termine.

Requisiti: `lambda:InvokeFunction`, `logs:FilterLogEvents`, `lambda:PutRuntimeManagementConfig`, `lambda:GetRuntimeManagementConfig`.

Esempio (us-east-1):
- Invocare: `aws lambda invoke --function-name  /tmp/ping.json --payload {} --region us-east-1 > /dev/null; sleep 5`
- Bloccare gli aggiornamenti: `aws lambda put-runtime-management-config --function-name  --update-runtime-on FunctionUpdate --region us-east-1`
- Verificare: `aws lambda get-runtime-management-config --function-name  --region us-east-1`

Facoltativamente, è possibile fissare una versione specifica del runtime estraendo l'ARN della Runtime Version dai log INIT_START e usando `--update-runtime-on Manual --runtime-version-arn <arn>`.

{{#include ../../../../banners/hacktricks-training.md}}
