Signatures de corruption mémoire
Inspectez /var/log/messages et le buffer noyau (dmesg) à la recherche de :
malloc(): memory corruption, corrupted double-linked list ou general protection fault in cpm / vpnd.
Check Point Security Gateway & Management Server (vpnd / cpm / fwm) Le score CVSS v3.1 évalue CVE-2026-85103 à 9.8 (CRITIQUE, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). Le score opérationnel Hermes s'établit à 96 (CRITIQUE) en raison du risque catastrophique de compromission des serveurs d'administration centrale (SMS) et de prise de contrôle de l'ensemble du parc de pare-feux.
Unified security operating system powering Check Point Quantum Security Gateways, Spark appliances, and cloud firewalls.
“Directly disclosed in Check Point advisory sk1000118 affecting Gateways and Security Management Servers.”
Software platform affected by security vulnerabilities and agentic attack patterns.
“Confirmed security vulnerability in Check Point Security Management documented in Hermes dossier.”
La vulnérabilité se situe dans la bibliothèque commune de désérialisation ASN.1 employée par le service VPN (vpnd) sur les passerelles et par les moteurs d’administration (cpm, fwm) sur les serveurs de gestion.
| Paramètre | Spécification technique | Contexte threat intelligence |
|---|---|---|
| Identifiant CVE | CVE-2026-85103 | Bulletin officiel Check Point sk1000118 |
| Produit affecté | checkpoint:gaia | Quantum Security Gateway & Security Management Server |
| Composant vulnérable | ASN.1 Certificate Parser (vpnd / cpm / fwm) | Routine de calcul de longueur X.509 BER / DER |
| Classe de faiblesse | CWE-122: Heap-based Buffer Overflow | Sûreté mémoire / Troncature arithmétique signée |
| Score CVSS v3.1 | 9.8 (CRITIQUE / Score Hermes 96) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Versions corrigées | R82.20, R82.10 Take 44, R82 Take 126, R81.20 Take 166, LivePatch Take 24 | Mises à jour d’urgence et patch dynamique en mémoire |
| Techniques MITRE ATT&CK | T1190 - Exploit Public-Facing Application, T1210 - Exploitation of Remote Services | Accès initial / Déplacement latéral / Impact |
| Référence forensique | Analyse mémoire des processus et corruption de tas Linux | Analyse des métadonnées ptmalloc et corruption de tas |
Les certificats X.509 reposent sur la notation ASN.1 encodée selon les règles DER sous forme de triplets Type-Longueur-Valeur (TLV).
Dans le décodeur ASN.1 de Check Point, le parsing des extensions de certificats manipule la mémoire dynamique via le gestionnaire de tas ptmalloc :
// Représentation décompilée du défaut de calcul de longueur ASN.1 dans libcpasn1int asn1_decode_octet_string(asn1_stream_t *stream, unsigned char **out_buf, size_t *out_len) { unsigned char tag = stream_read_byte(stream); uint32_t declared_len = 0;
if (stream_read_length(stream, &declared_len) != 0) { return ASN1_ERR_DECODE; }
/* VULNÉRABILITÉ (sk1000118 / CWE-122) : * declared_len est stocké sous forme d'entier non signé 32 bits, mais le calcul * d'allocation interne subit une troncature signée 16 bits : (int16_t)declared_len + header. * Pour une longueur forgée (ex: 0x00010040), le bloc alloué ne fait que 0x48 octets. * La copie subséquente tente de copier la totalité des 65600 octets, * écrasant de manière catastrophique le tas adjacent ! */ int16_t alloc_size = (int16_t)declared_len + sizeof(asn1_hdr_t); unsigned char *chunk = (unsigned char *)malloc(alloc_size); if (!chunk) { return ASN1_ERR_NO_MEM; }
// Écriture hors limites dans le tas écrasant les métadonnées ptmalloc et les pointeurs memcpy(chunk + sizeof(asn1_hdr_t), stream->cursor, declared_len); *out_buf = chunk; *out_len = declared_len; return ASN1_SUCCESS;}En contrôlant l’agencement du tas (heap grooming) via l’envoi préalable de sessions IKE ou TLS, un attaquant peut écraser des pointeurs de fonction ou des descripteurs de blocs mémoire et rediriger le pointeur d’instruction vers un shellcode exécuté avec les privilèges root.
vpnd ou cpm.Signatures de corruption mémoire
Inspectez /var/log/messages et le buffer noyau (dmesg) à la recherche de :
malloc(): memory corruption, corrupted double-linked list ou general protection fault in cpm / vpnd.
Dépotoirs de crash (core dumps)
Vérifiez /var/log/dump/usermode/ pour identifier les fichiers :
core.vpnd.* ou core.cpm.*. Analysez les registres au moment du crash avec gdb.
alert udp any any -> $EXTERNAL_NET [500,4500] ( msg:"HERMES INTEL - Check Point VPN Certificate ASN.1 Oversized Length Field (CVE-2026-85103)"; flow:to_server; content:"|06|"; distance:16; within:1; content:"|30 84 00 01|"; distance:0; within:10; threshold:type limit, track by_src, count 1, seconds 300; classtype:attempted-admin; sid:202685103; rev:1;)title: Check Point cpm / vpnd Anomalie Mémoire Tasid: cve-2026-85103-cpm-crash-frstatus: criticaldescription: Détecte les crashs et corruptions de tas affectant les démons d'administration et VPN de Check Point.logsource: category: application product: checkpointdetection: selection: EventMessage|contains: - 'corrupted double-linked list' - 'cpm: malloc' - 'fwm: segfault' condition: selectionlevel: criticalcplp apply ou déployez LivePatch Take 24 via SmartConsole CPUSE sur l’ensemble des passerelles et serveurs d’administration sans interruption de service.