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-2022-2869-detector — CodeQL detector per la causa principale di CVE-2022-2869 (CWE-191 underflow senza segno) che utilizza l'analisi del flusso di controllo/dell'intervallo per identificare pattern vulnerabili senza codificare funzioni specifiche. | Kitploit
Strumenti/GitHubGitHub/halahajyahia/cve-2022-2869-detector
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceAnalisi di Binari
GitHubhalahajyahia/cve-2022-2869-detector

CVE-2022-2869-detector

CodeQL detector per la causa principale di CVE-2022-2869 (CWE-191 underflow senza segno) che utilizza l'analisi del flusso di controllo/dell'intervallo per identificare pattern vulnerabili senza codificare funzioni specifiche.

Vedi Repository

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 →
9h 55m faNon ancora revisionato
Condividi

Rilevatore CodeQL per CVE-2022-2869

Questo progetto implementa un rilevatore CodeQL generale per la debolezza alla radice di CVE-2022-2869: una sottrazione senza segno che può andare in underflow perché il programma non ha stabilito un controllo sufficiente di limite inferiore/ordine prima dell'operazione aritmetica.

Perché questa versione è diversa dalla query precedente

Il rilevatore segnala deliberatamente la causa principale (CWE-191) piuttosto che codificare in modo rigido tiffcrop.c, nomi di funzioni o nomi di variabili. Utilizza la libreria standard Overflow di CodeQL, il cui ragionamento sui controlli si basa sull'analisi del flusso di controllo/degli intervalli. Non utilizza l'ordinamento per numero di riga del codice sorgente come sostituto della dominanza del flusso di controllo.

File

  • UnsignedUnderflow.ql — rilevatore primario da inviare.
  • report.md — spiegazione della vulnerabilità e della query.
  • test/mini_tiffcrop_like.c — casi non sicuri simili a CVE più controlli sicuri.
  • test/mini_tiffcrop_variant.c — una variazione strutturalmente diversa più controllo sicuro.
  • test/EXPECTED_RESULTS.md — comportamento positivo/negativo previsto.
  • original/ORIGINAL_VALIDATION.md — cosa deve essere dimostrato su LibTIFF vulnerabile.
  • Installare le dipendenze del query-pack

    Da questa directory:

    root@kitploit:~
    codeql pack install
    

    Creare un database per i piccoli test

    Esempio su Linux/WSL:

    root@kitploit:~
    codeql database create db-tests \
      --language=cpp \
      --command="gcc -std=c11 -O0 -g test/mini_tiffcrop_like.c -o /tmp/test1 && gcc -std=c11 -O0 -g test/mini_tiffcrop_variant.c -o /tmp/test2"
    

    Eseguire la query:

    root@kitploit:~
    codeql query run UnsignedUnderflow.ql --database=db-tests
    

    Dimostrazione runtime con AddressSanitizer

    La query CodeQL è analisi statica. ASan è una prova facoltativa che mostra la conseguenza delle variazioni personalizzate.

    root@kitploit:~
    gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_like.c -o mini1
    ./mini1                 # sicuro
    ./mini1 unsafe-x2       # errore di memoria previsto
    
    gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_variant.c -o mini2
    ./mini2                 # sicuro
    ./mini2 unsafe          # errore di memoria previsto
    

    Validazione originale su LibTIFF

    Costruire un database CodeQL da una revisione LibTIFF vulnerabile (ad esempio 4.3.0), quindi eseguire esattamente la stessa query UnsignedUnderflow.ql su quel database. Catturare il risultato in tools/tiffcrop.c, in particolare computeInputPixelOffsets.

    Il rilevatore non deve essere modificato per menzionare tiffcrop, computeInputPixelOffsets, x2 o crop_width; altrimenti sarebbe sovradattato a una singola istanza CVE e fallirebbe il requisito di variazione dell'assegnazione.

    Scarica lo strumento