Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Fuzzing for cups-filters could have higher coverage with low effort

Aperta
#47 4 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c
Ambito
testing

Direzione di ricerca

Inizia esaminando i progetti cups-filters e libcupsfilters esistenti in fuzzing/projects, quindi ispeziona cupsfilters/filter.h e i Containerfiles Podman disponibili. Il lavoro è completo quando i fuzzers accettano file multimediali grezzi, usano come seeds input di crash normali e storici ed esercitano gli strumenti cups-filters o le funzioni cfFilter* richieste.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hello @fish98!

I hear that OpenPrinting is soon hosting Winter-of-Code participants again, maybe it is the right time to pitch this:

CUPS-Filters does a lot of media parsing, and media parsing code is diverse and sometimes complicated.

I think it would be good to fuzz it like this:

  • Make the fuzzer generate the raw media files as input for the cups-filters tools (or the cfFilter* functions from filter.h).
  • For seeding the fuzzer with good starting points, normal media files can be used, and ideally also a variety of crash inputs from past bugs and vulnerabilities.

I am raising this because I noticed that the existing fuzzers for cups-filters and libcupsfilters only exercise a small subset of the functionality of these libraries (PDF output helpers and dithering utilities, to be precise). You do not need to have individual fuzzers for these - If the exercised helpers are also used by any of the CUPS-filters tools, it is enough to give an input seed file to the fuzzer which reaches this code, and a modern coverage-guided fuzzer is then able to exercise it.

(P.S., I am unfortunately short on time to do anything on this myself, but I have some Podman Containerfiles that can serve as a starting point to make the cups-filters projects build again. (Although I remember I had trouble linking it statically.) I can happily share that over email if you are interested. Let me know.)

Lingua principale
C
Stelle
8
Fork
18
Merge medio
7h 37m
PR unite (30g)
1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenPrinting/fuzzing

Tutte le issue di OpenPrinting/fuzzing

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.