Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2023-30226 — rizin bug di denial of service | Kitploit
Strumenti/GitHubGitHub/ifygecko/cve-2023-30226
Analisi delle VulnerabilitàExploitReverse EngineeringFuzzingAnalisi di Binari
GitHubifygecko/cve-2023-30226

CVE-2023-30226

rizin bug di denial of service

Vedi Repository
13 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2023-30226

Rizin è un framework di reverse engineering derivato da radare2; è stata scoperta una falla nel suo codice del parser ELF che consente a un file appositamente creato di effettuare un denial of service. Ciò impedirebbe a un utente di caricare il file in rizin, ma non avrebbe comunque alcun impatto sull'esecuzione del file stesso.

Il tipico file ELF si affida al linking/caricamento dinamico e pertanto contiene numerose informazioni incorporate nel file. Un dato che si può trovare è la voce DT_VERNEEDNUM nella sezione .dynamic; questo campo specifica il numero di voci nella tabella delle dipendenze delle versioni dei simboli. Pertanto, questo valore deve essere usato durante l'analisi di ogni dipendenza di versione, ma la tabella è progettata in modo tale che nell'ultima voce verneed il campo vn_next sia uguale a 0. Tuttavia, invece di iterare su ogni voce fino a raggiungere la fine, rizin scorre le voci della tabella usando il valore ottenuto dalla voce DT_VERNEEDNUM. Questo crea situazioni in cui il valore di DT_VERNEEDNUM può essere alterato fino a un numero molto grande, ad esempio 0xFFFFFFFFFFFFFFFF, facendo sì che il parser ELF continui a girare sull'ultima voce, pensando di avere altre voci da elaborare, calcolando l'offset della voce successiva con il campo vn_next ormai nullo. Anche se questo impatta il parser ELF di rizin, non ha alcun effetto sull'esecuzione del binario, poiché il loader Linux rileva che è stata raggiunta la fine della tabella con un DT_VERNEEDNUM falso. Questo fornisce una soluzione semplice: basta rilevare quando vn_next è nullo e uscire dal ciclo.

Il bug è presente nelle versioni precedenti alla v0.5.0 ed è stato corretto nel commit 4564986ef29f8872a95733416ce0a860ac2aa7e5, con file e funzione interessati: librz/bin/format/elf/elf_info.c:get_gnu_verneed(ELFOBJ *bin).

root@kitploit:~
https://github.com/rizinorg/rizin/pull/3214
https://github.com/rizinorg/rizin/pull/3214/commits/4564986ef29f8872a95733416ce0a860ac2aa7e5
Scarica lo strumento