alert http any any -> $HOME_NET any (
msg:"ET WEB_SPECIFIC_APPS GitLab SAML Authentication Bypass (CVE-2025-25291)";
flow:established,to_server;
http.uri;
content:"/users/auth/saml/callback"; fast_pattern;
http.request_body;
content:"SAMLResponse|3d|";
base64_decode:offset 0,relative;
base64_data;
content:"|3c 21|DOCTYPE|20|";
content:"|3e 3c 21 2d 2d|"; distance:0;
content:"|3c 21|ENTITY|20|"; distance:0;
reference:url,portswigger.net/research/saml-roulette-the-hacker-always-wins;
reference:cve,2025-25291;
classtype:web-application-attack;
sid:2065765; rev:1;
metadata:affected_product Gitlab, attack_target Server, tls_state TLSDecrypt, created_at 2025_11_13, cve CVE_2025_25291, deployment Perimeter, deployment Internal, deployment SSLDecrypt, confidence High, signature_severity Major, tag Exploit, tag Description_Generated_By_Proofpoint_Nexus, updated_at 2025_11_13, mitre_tactic_id TA0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public_Facing_Application;
target:dest_ip;
)