PDF e JavaScript incorporato

2

Abbiamo completato una vulnerabilità e un test di penetrazione. Una caratteristica della nostra applicazione consente di caricare i documenti e di autorizzare i documenti PDF.

Prima che un documento venga accettato, scansioniamo Virus e assicuriamo che il documento sia un PDF valido. Tutto questo va bene.

A questa funzione è stato assegnato un rischio CVSS di mezzo perché non eseguiamo la scansione di Javascript dannoso incorporato o perché il rapporto suggerisce "codice dannoso". Ovviamente non esiste una definizione di codice JS dannoso.

Dalla lettura della documentazione di adobe [1], sembra che sia stato fatto un ragionevole sforzo per determinare se il codice JS è dannoso.

Le mie domande:

  1. Gli sforzi di adobe [1] sono sufficienti?

  2. È ragionevole aspettarsi che blocchiamo tutti i file PDF con JS incorporato?

  3. Non sembra che ci sia molto rumore / chiacchiere sul JS incorporato nei file PDF, suggerendo che altri non vedono questo problema, sarebbe vero?

  4. Se non eseguiamo la scansione di JS incorporato, è ragionevole essere un punteggio CVSS di mezzo?

  5. Quali sono i casi di utilizzo generale per JS incorporato nei PDF. Nel caso in cui blocchiamo tali PDF, a un utente verrà impedito di caricare determinati file PDF.

  6. Qual è la cosa peggiore che qualcuno possa fare con questa funzione JS integrata in PDF, sappiamo che PDF JS è sandboxed dall'applicazione Web, quindi non è XSS per l'applicazione web?

[1] Documentazione Adobe link

    
posta Darragh 16.10.2018 - 19:55
fonte

1 risposta

1

Per cominciare, nella pagina Adobe a cui stai collegando, si dice:

An untrusted document that tries to invoke an URL via JS displays the YMB by default. The user is given the option to trust the document for such actions via the Options button on the YMB.

In pratica, questo "sforzo" IMHO è quasi inutile, poiché i PDF potrebbero circolare attraverso la tua organizzazione e, si potrebbe immaginare che ci sarà sempre una persona, più o meno incurante, che preme il pulsante. E questo potrebbe voler dire aprire la scatola di Pandora.

Devi capire che passare un PDF attorno al quale si trova un codice malevolo è come far passare un pacco che contiene una bomba. Ancora peggio se vengono fatte delle copie. Le bombe non si replicano, i PDF lo fanno. E non possiamo dire quando e dove potrebbe esplodere. Quindi è meglio non volerlo lasciar entrare affatto.

Questo si riduce alla domanda che stai già facendo, è ragionevole non accettare PDF con JS incorporato? Se stiamo parlando solo di CV, la mia intuizione iniziale sarebbe: "Assolutamente". Non riesco a capire perché un CV abbia bisogno di interattività nel documento, il che sarebbe l'unico caso d'uso per JS embedded, a cui posso pensare. In genere, il JS incorporato può essere utilizzato per i PDF che contengono moduli che possono essere compilati dal lettore in cui è possibile scegliere tra le opzioni, ad esempio.

Ciò ti consente di scansionare e rifiutare i PDF con codice JS incorporato o di rimuovere il codice JS incorporato durante la procedura di scansione. Quest'ultimo, in realtà, non è una questione tecnica o di sicurezza, ma potrebbe esserci o meno un aspetto legale.

    
risposta data 17.10.2018 - 17:03
fonte

Leggi altre domande sui tag