Cifrele care urmeaza spun totul. August 2025, in salbaticie 90 de zile inainte de patch. Lasati audienta sa absoarba urmatoarele 4 numere - pauza dupa fiecare.
C a fost standardizat in 1989, gandit pentru control si performanta in anii '70. Niciun mecanism built-in de protectie a memoriei. Pe ecran: regiunile mari ale spatiului de adrese - stack creste in jos, heap in sus, .data si .text fixe. ANALOGIE 'parcare': memoria e o parcare gigantica, fiecare proces are sectorul lui. Stack-ul e un teanc de cutii (LIFO - last-in-first-out). Heap-ul e parcare obisnuita (aloci loc, eliberezi cand pleci). Granitele dintre zone sunt LOGICE, nu fizice. Procesorul nu opreste programul daca scrii in zona vecinului.
Vulnerabilitatile de memorie nu sunt UN bug. Sunt o FAMILIE de bug-uri. CWE-787 (OOB write, evidentiat) - locul 1 in MITRE Top 25, 5 ani la rand. Use-after-free, type confusion, double free, OOB read - aceeasi cauza comuna: memorie bruta, verificari manuale.
MOMENT WOW TEHNIC - LASA ANIMATIA SA RESPIRE. Audienta netehnica trebuie sa vada SAFE -> HIJACKED. Setup: stack frame al unei functii active. 3 regiuni vizibile: buffer (64 octeti) | saved RBP (8 octeti) | return address (8 octeti). Return address = unde sare CPU dupa terminarea functiei. Daca o suprascriem, controlam fluxul. Pe pas: STEP 1 (16 bytes) - SAFE, totul intact. STEP 2 (72 bytes) - depasim buffer cu 8 octeti, saved RBP corupt. STEP 3 (80 bytes) - ajungem la return address. CPU NU STIE - va sari unde am scris. STAREA: HIJACKED. STEP 4 (payload) - 64 buffer + 8 dummy + 8 octeti exacti = adresa functiei `complete_level`, little-endian. STEP 5 (ret) - CPU sare la complete_level. 'Congratulations, you've finished!' MATH: 80 = 64 + 8 + 8. 16 octeti precis ne dau control complet de executie. ANALOGIE: 'ai inchis usa dar lasat cheile in usa. Cineva care trimite 80 octeti in loc de 64 intra fara sa sparga nimic.'
Lantul real 2025: 5 stadii, 2 CVE-uri, 0 clickuri. Pe ecran vedem fluxul: atacator -> server WhatsApp -> telefon victima -> ImageIO -> cod arbitrar. Acum urmariti pachetul (dot rosu) cum trece prin lant.
Atacatorul cunoaste DOAR numarul de telefon al victimei. Trimite un mesaj de sincronizare (linked-device) malitios. WhatsApp il accepta FARA AUTORIZARE corecta (CVE-2025-55177 - urmeaza la s11). Telefonul descarca + proceseaza imaginea controlata de atacator. ImageIO face OOB write pe heap (CVE-2025-43300 - urmeaza la s12). Cod arbitrar in procesul parserului - atacatorul controleaza acel proces.
Prima CVE: 55177 - stadiul de LIVRARE. CWE-863 (authorization), CVSS 8.0, WhatsApp iOS, patch 2.25.21.73. Atentie: NU e o problema de memorie inca. E o gresala logica de autorizare. Dar critica pentru lant.
CVE-2025-43300 - stadiul de EXPLOATARE. CWE-787 (OOB Write), CVSS 8.8, Apple ImageIO. Patch: iOS 18.6.2. ImageIO = framework Apple care parseaza imagini pe ABSOLUT TOATE dispozitivele Apple (iOS, macOS, watchOS, tvOS). Cand o aplicatie afiseaza o imagine, de obicei ajunge sa cheme ImageIO. Infrastructura comuna.
Fisier DNG (raw Adobe, bazat pe TIFF) cu stream JPEG lossless embedded. DOUA CAMPURI declara cati componente per pixel: TIFF SamplesPerPixel = 1. JPEG Nf (component count) = 3. Nimeni nu verifica ca sunt egali. Atacatorul controleaza ambii.
Figura centrala a lucrarii - 'money shot'. Stanga: heap-ul din laboratorul CTF didactic - exercitiu de scoala. Dreapta: heap-ul din CVE-2025-43300 - exploit folosit impotriva jurnalistilor. Pauza scurta - lasa audienta sa compare structural.
**In timp ce scriam aceasta lucrare...** (PAUZA - subliniati 'in timp ce scriam'). Demonstreaza ca cercetarea NU e academica - e despre atacuri care se intampla ACUM. Doua vulnerabilitati noi in kernel-ul Linux, ambele in 2026, ambele write-primitive.
Copy Fail (CVE-2026-31431): 732 octeti pentru a obtine root pe orice Linux kernel intre 4.14 si 6.19.12. Adica TOATE distributiile in productie din 2017 incoace. Descoperit de instrument AI de analiza statica.
Dirty Frag (CVE-2026-...): doua CVE-uri in kernel, in IPsec si RxRPC. Aceeasi categorie - write fara verificare, privilege escalation. Pattern CONFIRMAT - 2026. Coruptia de memorie nu s-a oprit. Continua in TIMP REAL, chiar in timpul acestei prezentari. Nu sunt exemple alese cu grija. Sunt cele mai recente, de luni intregi de back-to-back.
Detaliu pe Copy Fail si Dirty Frag - 2026 pattern confirmed. Comparam structural cele doua bug-uri noi cu pattern-ul nostru.
Copy Fail (1 mai 2026): kernel Linux, copy_from_user fara verificare suficienta. User local scrie 4 octeti intr-un fisier setuid -> devine root. Detectat de AI tool (Xint Code), nu de cercetator uman.