APP_KEY trong Laravel bị lộ khiến hàng trăm ứng dụng có nguy cơ bị chiếm quyền điều khiển

Các chuyên gia bảo mật cảnh báo về một lỗ hổng nghiêm trọng trong các ứng dụng Laravel: khi khóa APP_KEY bị rò rỉ, kẻ tấn công có thể khai thác lỗi deserialization để thực thi mã từ xa (Remote Code Execution – RCE) trên máy chủ.

APP_KEY là khóa mã hóa 32-byte được Laravel sử dụng để bảo vệ dữ liệu, xác thực phiên, ký token… Thông thường, khóa này được lưu trong tệp .env – nơi cũng chứa nhiều thông tin nhạy cảm khác. Nếu bị lộ, toàn bộ hệ thống có nguy cơ bị chiếm quyền kiểm soát.

GitGuardian, phối hợp với Synacktiv, đã phát hiện hơn 260.000 APP_KEY bị rò rỉ trên GitHub từ 2018 đến 5/2025. Trong đó, hơn 600 ứng dụng có thể bị khai thác trực tiếp. Ngoài ra, khoảng 28.000 cặp APP_KEYAPP_URL bị công khai cùng lúc – cho phép tấn công nhắm đích, giải mã cookie và truy cập hệ thống.

Dù lỗi deserialization gắn với mã CVE-2018-15133, nhưng vẫn tồn tại trong các phiên bản Laravel mới nếu cấu hình SESSION_DRIVER=cookie được sử dụng (CVE-2024-55556).

Nguyên nhân phổ biến nhất (63%) là do .env file bị đưa vào GitHub, cùng với các secrets khác như token cloud, CSDL, API AI… Chỉ xóa khóa khỏi repo là không đủ, bởi các công cụ đã cache lại. Giải pháp bắt buộc là quay vòng khóa, cập nhật hệ thống và triển khai giám sát tự động.

Ngoài Laravel, GitGuardian còn phát hiện hơn 100.000 secrets bị lộ trong các Docker image công khai, và hơn 200 repo chứa Model Context Protocol (MCP) – thành phần AI – bị rò rỉ thông tin. Những phát hiện này cho thấy quản lý secret kém đang trở thành điểm yếu lớn trong bảo mật DevOps.

Khuyến nghị:

  • Không lưu secrets trong mã nguồn, đặc biệt là .env.

  • Tự động hóa quét và cảnh báo secrets trên Git, CI/CD, Docker.

  • Áp dụng rotation và hardening theo hướng dẫn chính thức của Laravel.

  • Triển khai mô hình Zero Trust với các hệ thống sử dụng mã nguồn mở.

Theo: The Hacker News