
Analisi didattica di CVE-2023-4863 (overflow del buffer heap in libwebp) con strumenti di rilevamento Blue Team, scanner WebP statico, validatore Java, laboratorio Valgrind basato su Docker e dashboard in tempo reale per la visualizzazione della sicurezza.
| Nome e Cognome | GitHub | E-posta | Sito Web | |
|---|---|---|---|---|
| Keyvan Arasteh |
| Nome e Cognome | Matricola |
|---|---|
| Batuhan Seydi Çelik | 2520****1006 |
| Nome Corso | Codice Corso | Crediti | Prerequisiti | Semestre |
|---|---|---|---|---|
| Test di Penetrazione e Analisi delle Vulnerabilità | BGT006 | 3 AKTS | Fondamenti di Rete, CLI Linux | Primavera 2025-2026 |
Questo progetto è stato preparato per analizzare a scopo educativo la vulnerabilità CVE-2023-4863 (libwebp Heap Buffer Overflow) e mostrare praticamente come tali anomalie possano essere rilevate nei sistemi dal lato difensivo (Blue Team).
Questa vulnerabilità ha interessato direttamente molti ecosistemi del web:
ReadHuffmanCodes alloca nello heap meno spazio del necessario per la tabella.BuildHuffmanTable), si verifica una scrittura fuori dai limiti (Out-Of-Bounds Write) dello spazio di memoria allocato.Per ragioni di sicurezza, nel sistema non è presente alcun codice Red Team reale e armato (exploit). La vulnerabilità viene testata a livello strutturale.
src/blue_team/webp_scanner.py: Analizza staticamente le strutture dei chunk WebP e rileva dimensioni anomale.src/blue_team/WebpValidator.java: Esempio di codice difensivo Java che simula scenari di upload di file, impedisce la falsificazione delle dimensioni con logica fail-fast e gestisce file danneggiati senza crash (senza sollevare eccezioni).src/red_team/poc.py: Generatore di test educativo che non contiene un vero payload, ma segnala intenzionalmente una dimensione fittizia del chunk di 60MB per testare se gli strumenti di analisi Blue Team si attivano.libwebp-1.3.1 vulnerabile. Analisi dinamica tramite Valgrind attraverso lo script analyze_memory.sh per l'esame degli errori di memoria (Invalid Write).I risultati di sicurezza vengono registrati tramite l'infrastruttura del logger JSON e visualizzati in modo asincrono e live grazie alla Blue Team Dashboard (HTML/JS/CSS) situata nella directory src/public.

| [email protected] |
| keyvanarasteh |
| qline.tech |