🔍 Contexte

Publié le 23 septembre 2026 par Sina Kheirkhah (@SinSinology) sur watchTowr Labs, cet article présente une analyse technique complète de CVE-2026-94127, une vulnérabilité de type heap overflow non authentifié affectant F5 BIG-IP APM, activement exploitée dans la nature au moment de la publication.

🎯 Produit et versions affectées

La vulnérabilité affecte le module BIG-IP APM (Access Policy Manager) :

  • BIG-IP APM 21.x : version 21.1.0
  • BIG-IP APM 17.x : versions 17.5.0 – 17.5.1 et 17.1.0 – 17.1.3
  • Les autres modules BIG-IP et BIG-IQ Centralized Management ne disposent d’aucun correctif applicable

Les correctifs sont disponibles sous forme de hotfix ISO pour les branches 21.x et 17.x.

🧪 Analyse technique

La vulnérabilité réside dans le traitement de l’en-tête HTTP Authorization lors du flux OAuth, accessible via l’endpoint /f5-oauth2/v1/userinfo. Le processus vulnérable est tmm64 (Traffic Management Microkernel).

Mécanisme de la faille :

  1. Un buffer heap de taille fixe 0x4100 octets est alloué via umalloc
  2. La longueur de l’en-tête Authorization est lue sans vérification de taille
  3. La valeur de l’en-tête est copiée dans le buffer sans contrôle de borne → heap overflow

Correctif appliqué : ajout d’une vérification if (v20 > 0x4100) rejetant les en-têtes trop grands avec le message "Authorization header too big."

Déclenchement : une simple requête GET non authentifiée avec un en-tête Authorization: Bearer de plus de 0x4100 octets suffit à provoquer le crash.

💥 Exploitation et contournements

  • Protections présentes : ASLR système activé, NX (pas de heap/stack exécutable), stack canary, FORTIFY
  • Absence de PIE sur le binaire tmm64 → adresses fixes exploitables
  • Dans ~90% des exécutions, un objet contenant un pointeur de fonction se retrouve juste après le buffer overflow à buffer + 0x4ff8
  • Un stack pivoting permet d’aligner les arguments et d’enchaîner des gadgets ROP
  • SELinux bloque les appels exec → contournement via écriture dans le script hook /etc/bigstart/scripts/tmm.finish (exécuté à chaque crash de tmm) en utilisant open() + write() pour y injecter des commandes

📋 Type d’article

Analyse technique de vulnérabilité avec preuve de concept (PoC) d’exploitation complète, publiée par watchTowr Labs dans le cadre de la divulgation responsable, visant à documenter la surface d’attaque et l’exploitabilité réelle de CVE-2026-94127.

🧠 TTPs et IOCs détectés

TTP

  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1203 — Exploitation for Client Execution (Execution)
  • T1574 — Hijack Execution Flow (Defense Evasion)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
  • T1222.002 — File and Directory Permissions Modification: Linux and Mac File and Directory Permissions Modification (Defense Evasion)

IOC

  • CVEs : CVE-2026-94127 — NVD · CIRCL
  • Fichiers : tmm64
  • Fichiers : Hotfix-BIGIP-21.1.0.2.0.30.22-ENG.iso
  • Fichiers : Hotfix-BIGIP-17.5.1.9.0.160.12-ENG.iso
  • Fichiers : Hotfix-BIGIP-17.1.3.5.0.41.14-ENG.iso
  • Chemins : /etc/bigstart/scripts/tmm.finish
  • Chemins : /f5-oauth2/v1/userinfo
  • Chemins : /watchTowr.txt

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 25 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • IDA Pro (tool)
  • Diaphora (tool)

🟢 Indice de vérification factuelle : 75/100 (haute)

  • ✅ labs.watchtowr.com — source reconnue (liste interne) (20pts)
  • ✅ 11405 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 8 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 5 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)

🔗 Source originale : https://labs.watchtowr.com/is-this-a-joke-in-the-auth-header-f5-big-ip-unauth-heap-overflow-to-rce-cve-2026-94127/