.. _vulnerabilityManagement_skip_registry_33x_CVE-2026-33929: CVE-2026-33929 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Data: 2026-04-29 Severity: Medium CVSS Score: 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) Riferimenti: - `https://nvd.nist.gov/vuln/detail/CVE-2026-33929 `_ Libreria: org.apache.pdfbox:pdfbox **Descrizione** Path Traversal vulnerability in Apache PDFBox Examples. This issue affects the ExtractEmbeddedFiles example in Apache PDFBox: from 2.0.24 through 2.0.36, from 3.0.0 through 3.0.7. Si tratta di un follow-up della CVE-2026-23907: il fix applicato nelle release 2.0.36 e 3.0.7 è risultato incompleto perché non considera il file path separator, lasciando aperto lo stesso vettore di path traversal sull'esempio 'ExtractEmbeddedFiles'. Gli utenti che avessero copiato il codice di esempio nella propria codebase di produzione devono applicare il fix aggiornato disponibile nella PR #427 del progetto Apache PDFBox (oppure aggiornare alle versioni 2.0.37 / 3.0.8 una volta rilasciate). **Falso Positivo per GovWay** La vulnerabilità riguarda esclusivamente il codice di esempio ``ExtractEmbeddedFiles`` distribuito nell'artifact separato ``pdfbox-examples``, **non incluso** nel jar ``pdfbox`` impiegato nel deploy di GovWay. La classe ``ExtractEmbeddedFiles`` non è quindi nemmeno presente fisicamente nel jar segnalato dallo scanner (verifica diretta effettuata sul jar ``pdfbox`` utilizzato da GovWay). Inoltre il codice di esempio non è stato copiato nel sorgente GovWay. Il vettore di attacco descritto dall'advisory richiede uno schema preciso: leggere ``PDComplexFileSpecification.getFilename()`` da un PDF non fidato e usare quel valore come path filesystem per scrivere il contenuto del file embedded. Tale schema **non si verifica** in nessun codepath di GovWay: - il modulo ``org.openspcoop2.utils.pdf.PDFWriter`` utilizza ``PDComplexFileSpecification`` / ``PDEmbeddedFile`` / ``PDEmbeddedFilesNameTreeNode`` solo in fase di **scrittura**, per aggiungere file embedded a PDF generati da GovWay (metodi ``addEmbeddedFile*`` / ``addEmbeddedFileAsKid*`` / ``addAnnotationFile*``); il nome del file embedded è sempre fornito dal codice chiamante e non proviene da un PDF esterno; - il modulo ``org.openspcoop2.utils.pdf.PDFReader`` espone un'utility ``getEmbeddedFiles(boolean)`` che restituisce i file embedded come ``Map`` con i contenuti come ``byte[]`` in memoria, senza alcuna scrittura su filesystem; viene utilizzato esclusivamente dai test unitari (``org.openspcoop2.utils.pdf.test.PDFReaderTest``) e non da codice di produzione del Gateway, e anche in tale ambito di test la mappa è verificata solo tramite asserzioni in memoria (nessun ``FileOutputStream`` / ``Files.write`` / ``new File(filename)`` costruito sul filename letto dal PDF). In runtime di produzione, la libreria Apache PDFBox è quindi utilizzata in GovWay unicamente per: - caricare documenti PDF tramite ``Loader.loadPDF()`` (classe ``org.openspcoop2.utils.pdf.AbstractPDFCore``); - generare documenti PDF con contenuti testuali e tabellari (classe ``org.openspcoop2.web.monitor.core.report.Templates``); - estrarre testo da documenti PDF tramite ``PDFTextStripper`` (classe ``org.openspcoop2.core.monitor.rs.testsuite.PdfUtils``); - aggiungere file embedded a PDF generati internamente (classe ``org.openspcoop2.utils.pdf.PDFWriter``), con filename controllati dal codice chiamante. Il codepath vulnerabile descritto dall'advisory non è quindi raggiungibile e la vulnerabilità non è sfruttabile nel contesto di GovWay. Configuration File: `false-positive.xml `_