Immagine illustrativa generata con AI
Sei vulnerabilità colpiscono CISA Malcolm: rischio di codice arbitrario e blocco dei servizi
Sei vulnerabilità critiche in CISA Malcolm: rischio esecuzione codice PHP e denial of service. Versioni correttive rilasciate.
Testo generato da intelligenza artificiale, pubblicato senza revisione umana. Trasparenza IA
Sei falle nella suite per l’analisi del traffico
CISA ha segnalato oggi, 18 agosto 2026, sei vulnerabilità nella suite CISA Malcolm, piattaforma utilizzata per l’analisi del traffico di rete. Gli impatti vanno dal denial of service all’esecuzione di codice PHP arbitrario, passando per l’accesso non autorizzato a backend amministrativi.
Le vulnerabilità interessano diverse versioni del prodotto:
- CVE-2026-55676: Malcolm precedente alla 26.06.1;
- CVE-2026-63133, CVE-2026-63134 e CVE-2026-63177: Malcolm precedente alla 26.07.0;
- CVE-2026-19670 e CVE-2026-19671: Malcolm 26.07.1 e precedenti.
Tutte le versioni indicate risultano classificate come known_affected. Il punteggio CVSS complessivo riportato da CISA è 8.8, ma la gravità varia tra le singole falle.
La fonte non indica uno stato di inclusione nel catalogo CISA Known Exploited Vulnerabilities (KEV). Di conseguenza, non sono disponibili né una data di inserimento né una scadenza operativa associata al catalogo.
Un upload può portare all’esecuzione di codice PHP
La vulnerabilità più grave è CVE-2026-55676, classificata con CVSS 3.1 pari a 8.8. Riguarda il backend PHP di FilePond, utilizzato per la gestione dei caricamenti.
Il componente accetta file tramite l’endpoint:
POST /server/php/submit.php
e li salva in una directory esposta dalla stessa istanza Nginx e php-fpm:
/var/www/upload/server/php/files
Il controllo sulle estensioni consentite è vuoto per impostazione predefinita. Inoltre, la sanitizzazione conserva l’estensione .php. Un utente autenticato con privilegi ridotti può quindi caricare un file PHP e richiederlo successivamente attraverso:
GET /server/php/files/.php
Le regole Nginx inoltrano gli URL con estensione .php a php-fpm, provocando l’esecuzione del codice con i privilegi dell’utente www-data.
Il problema assume particolare rilievo nelle configurazioni RBAC. Prima della versione 26.06.1, il ruolo granulare ROLE_UPLOAD, pensato per consentire soltanto il caricamento di file di cattura, poteva raggiungere l’endpoint vulnerabile. Un account autorizzato esclusivamente all’upload poteva così eseguire codice arbitrario nel container file-upload.
Il vettore CVSS indica accesso remoto, bassa complessità e necessità di autenticazione con privilegi limitati:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
La correzione indicata è la versione 26.06.1.
Estrazione insicura: traversal e consumo illimitato di risorse
Tre vulnerabilità riguardano lo script safe-extract.py, utilizzato per elaborare archivi caricati nella piattaforma.
CVE-2026-63133 consente un attacco di esaurimento delle risorse. Nelle versioni precedenti alla 26.07.0, lo script non imponeva limiti adeguati al numero di elementi, alla profondità delle directory, al numero complessivo di entry o alla dimensione dell’output.
Un archivio di piccole dimensioni può contenere una quantità enorme di file e directory. Durante l’estrazione, il container filebeat può creare un numero non limitato di oggetti sul filesystem, consumando inode o metadati. La pipeline di elaborazione può quindi bloccarsi, con possibili effetti anche sugli altri servizi che condividono lo stesso mount.
La vulnerabilità ha CVSS 3.1 pari a 6.5:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
La correzione è disponibile dalla versione 26.07.0.
CVE-2026-63134 riguarda invece una directory traversal nell’estrazione. Sebbene Malcolm utilizzi i flag di sicurezza di libarchive, la creazione delle directory avviene attraverso un percorso costruito con:
os.makedirs(os.path.join(dest, entry.pathname))
L’operazione non impedisce adeguatamente l’uso di sequenze ../ o di percorsi assoluti. Un archivio preparato da un attaccante può quindi indurre il container filebeat a creare directory al di fuori dell’area prevista.
Il punteggio CVSS 3.1 è 5.4, con impatto su integrità e disponibilità. Anche questa falla è corretta nella versione 26.07.0.
La terza vulnerabilità del gruppo è CVE-2026-63177, un bypass dei controlli RBAC dovuto alla gestione incoerente dei percorsi tra Nginx e OpenResty Lua. Il controllo Lua analizza il valore grezzo di ngx.var.request_uri, mentre Nginx seleziona il backend usando un percorso normalizzato.
Un utente autenticato con pochi privilegi può anteporre una sequenza di traversal, ad esempio:
/x/../upload/...
Nginx può instradare la richiesta verso il backend riservato, mentre il controllo Lua non individua la regola applicabile. In assenza di una corrispondenza, l’accesso viene consentito invece di essere negato.
La falla ha CVSS 3.1 pari a 7.1 e viene corretta nella versione 26.07.0.
Encoding e file compressi aggirano ulteriori difese
CVE-2026-19670 interessa Malcolm 26.07.1 e precedenti e sfrutta una differenza tra il controllo RBAC e il routing di Nginx.
Il layer Lua esegue il pattern matching sull’URI grezzo e percent-encoded. Nginx, invece, decodifica e normalizza il percorso prima di scegliere il blocco location.
Un utente autenticato a basso privilegio può codificare parti dell’URL, per esempio:
/%68tadmin.php
Nginx interpreta il valore come un percorso amministrativo, mentre il controllo RBAC non riconosce la restrizione sull’URI ancora codificato. Tra gli endpoint esposti figurano /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox e i percorsi di upload.
Il punteggio è CVSS 3.1 pari a 5.4. Per questa vulnerabilità non è indicata una versione correttiva specifica.
CVE-2026-19671 riguarda infine una decompression bomb nei file compressi a flusso singolo. I limiti applicati agli archivi ZIP, TAR, RAR e 7z tramite libarchive non vengono applicati allo stesso modo ai file:
.gz;.bz2;.xz;.lzma;.lz.
Un utente autorizzato a caricare PCAP o log può inviare un file molto piccolo ma altamente comprimibile. Durante l’elaborazione, il contenuto può espandersi senza un limite effettivo, consumando lo spazio del volume Docker condiviso da OpenSearch, Logstash, Arkime e Zeek.
L’effetto può essere l’interruzione della piattaforma per tutti gli utenti. La falla ha CVSS 3.1 pari a 6.5. Anche in questo caso non è indicata una versione correttiva specifica.
Cosa devono fare gli amministratori
La priorità è aggiornare Malcolm almeno alle versioni correttive disponibili:
- 26.06.1 per CVE-2026-55676;
- 26.07.0 per CVE-2026-63133, CVE-2026-63134 e CVE-2026-63177.
Per CVE-2026-19670 e CVE-2026-19671, le versioni vulnerabili comprendono la 26.07.1, ma non è indicata una release risolutiva. Gli amministratori dovrebbero quindi verificare gli aggiornamenti disponibili e limitare temporaneamente l’accesso agli endpoint coinvolti.
È opportuno ridurre il più possibile gli account autorizzati al caricamento di file, rivedere i ruoli RBAC e controllare i log relativi a upload, richieste con percorsi codificati o contenenti ../, e accessi anomali agli endpoint amministrativi.
Vanno inoltre monitorati il consumo di spazio, inode e metadati dei volumi Docker, insieme ai riavvii o agli errori dei container file-upload e filebeat. Non sono stati indicati indicatori di compromissione specifici.
CISA raccomanda di evitare l’esposizione diretta su Internet, collocare i sistemi dietro firewall, isolare le reti di controllo da quelle aziendali e utilizzare VPN aggiornate per l’accesso remoto. Le misure devono essere valutate rispetto all’impatto operativo dell’installazione.
Fonti
Questo articolo è una rielaborazione originale basata sulle fonti seguenti.
CVE trattate in questo articolo
- CVE-2026-55676HIGH8.8Malcolm is a network traffic analysis tool suite. The file-upload component (FilePond PHP backend) accepts uploads at `POST /server/php/submit.php` and stores them in a directory served by the same nginx and php-fpm instance. The allow-list that should restrict accepted file types is an empty array
- CVE-2026-63177HIGH7.1Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, role-based access control enforced in the Nginx OpenResty Lua layer evaluates the raw, unnormalized `ngx.var.request_uri`, while Nginx itself routes requests using the normalized path. An authenticated low-privilege user can
- CVE-2026-63133MEDIUM6.5Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, `safe-extract.py` extracts uploaded archives with no limit on entry count, directory depth, total entries, or output size. A small malicious archive containing a large number of directory or file entries causes the filebeat
- CVE-2026-19671MEDIUM6.5Malcolm's upload-processing pipeline (scripts/safe-extract.py) enforces entry-count, nesting-depth, and total-uncompressed-byte limits when extracting container archives (zip/tar/rar/7z via libarchive), but those limits are not applied when the uploaded file is a single-stream compressed format (.gz
- CVE-2026-63134MEDIUM5.4Malcolm is a network traffic analysis tool suite. Prior to version 26.07.0, `safe-extract.py` protects file extraction with libarchive's secure flags, but creates directory entries with a raw `os.makedirs(os.path.join(dest, entry.pathname))` that has no traversal protection. An uploaded malicious ar
- CVE-2026-19670MEDIUM5.4Malcolm's nginx Lua role-based access control (RBAC) layer decides whether an authenticated user may reach a role-restricted path (e.g. /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox, upload endpoints) by pattern-matching the raw, percent-encoded request URI. Nginx itself, however, selec
