jQuery 2.1.1 è vulnerabile all'input del comando OS?

1

Barracuda ha rilevato più istanze di vulnerabilità di OS Command Injection in un sito Web statico. In ogni caso, l'URL vulnerabile era il plugin jQuery stesso (versione 2.1.1).

Barracuda valuta ogni gravità come critica e la sicurezza come certa.

An OS command injection attack occurs when an attacker attempts to execute system level commands through a vulnerable application. Applications are considered vulnerable to the OS command injection attack if they utilize user input in a system level command.

CVSS

Score: 7.5

Vector: AV:N/AC:L/Au:N/C:P/I:P/A:P

Remedation Background

Minimize use of OS commands in web applications, as they are always a security risk. When it is necessary to use an OS command that includes user input, comprehensively scrub all user input for malicious characters prior to running the command.

I dettagli del problema sono "Il campo v è stato inviato con il valore / bin / cat / etc / passwd. La radice dell'indicatore:" seguita da un enorme frammento di jQuery miniato (6 pagine) e termina con "fa +"; scade = Gio, 01 gen 1970 00:00:00 è stato trovato nella risposta, suggerendo che il comando iniettato è stato eseguito, e quindi l'iniezione del comando OS è possibile. ".

C'erano anche High Severity nello stesso plugin jQuery per Directory Traversal:

Directory Traversal, also known as Path Traversal, "dot-dot-slash" and "backtracking", is when a misconfigured server or code error allows an attacker access to files outside the web root folder. These files may contain source code, configuration, and critical system files, including password files.

CVSS Score: 6.8

Vector: AV:N/AC:M/Au:N/C:P/I:P/A:P

Remedation Background

Do not use user input that is not properly sanitized as any part of a path component. It is even more advisable to never use user input in a path component at all.

Ancora una volta, i dettagli erano "Il parametro v è stato inviato con il valore / etc / passwd, e la risposta conteneva il valore root:" seguito da 6 pagine di jQuery miniate.

Sto esaminando tutti i moduli per verificare che gli input siano, di fatto, correttamente disinfettati, ma il report sembra identificare le vulnerabilità in jQuery 2.1.1 stesso.

Questo mi sembra improbabile, ma mi piacerebbe poter sapere con certezza se questi sono, di fatto, dei falsi positivi. Aggiornerò a una versione più recente di jQuery, solo per sicurezza. Quali passi dovrei fare oltre a esaminare gli input del modulo e aggiornare jQuery?

    
posta Beofett 27.05.2016 - 14:49
fonte

2 risposte

6

È un falso positivo.

In entrambi i casi, lo scanner ha cercato solo "root:", assumendo che faccia parte di un file passwd. La linea trovata è:

root:function(a){return a===o}

Questo ovviamente non è da un file passwd. È anche molto improbabile che qualsiasi vulnerabilità sul lato server esista in una richiesta di un file jQuery, in genere si tratta di file statici che vengono pubblicati così come sono.

Il fatto che lo scanner riferisca "certo" è un po 'sorprendente, poiché "root:" è troppo generico per una parola chiave con un livello di fiducia così alto.

Quando ottieni un rapporto come questo, devi verificare il risultato. In questi casi, dovresti:

  • cerca la parola chiave che lo scanner ti fornisce - "root:" in questo caso - e verifica se è effettivamente ciò che lo scanner pensa di essere.
  • adattare il carico utile e vedere cosa succede. Nel caso del comando di iniezione, puoi provare altri comandi e vedere se sono eseguiti, nel caso di inclusione del file dovresti provare ad includere altri file.
risposta data 27.05.2016 - 15:25
fonte
4

No, JQuery è una tecnologia lato client, che in realtà è un wrapper per JavaScript da utilizzare solo in un browser Web

JavaScript non ha la capacità di eseguire comandi OS quando viene invocato da un browser, a meno che le impostazioni di sicurezza siano ridotte all'interno di Internet Explorer .

E JQuery non può fornire alcuna funzionalità aggiuntiva che aggiri questo.

Questo sembra essere un falso positivo a causa del JQuery minificato che viene restituito e scambiato dallo scanner di vulnerabilità come restituendo un file di sistema sensibile sul lato server.

    
risposta data 27.05.2016 - 15:24
fonte