Jump to content

ShellShock: grave (?) vulnerabilità della shell bash


jeby

Recommended Posts

Scoperta una falla nella shell gnu bash che potrebbe permettere l'esecuzione di codice malevolo

NVD - Detail

[TABLE]

[TR]

[TD=colspan: 2]Original release date: 09/24/2014

Last revised: 09/24/2014

Source: US-CERT/NIST

[h=4]Overview[/h]GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution.

[h=4]Impact[/h][h=5]CVSS Severity (version 2.0):[/h]CVSS v2 Base Score: 10.0 (HIGH) (AV:N/AC:L/Au:N/C:C/I:C/A:C) (legend)

Impact Subscore: 10.0

Exploitability Subscore: 10.0

[h=5]CVSS Version 2 Metrics:[/h]Access Vector: Network exploitable

Access Complexity: Low

Authentication: Not required to exploit

Impact Type: Allows unauthorized disclosure of information; Allows unauthorized modification; Allows disruption of service

[h=4]References to Advisories, Solutions, and Tools[/h]By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose. NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about this page to nvd@nist.gov.

External Source: CONFIRM

Name: https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

Hyperlink: https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

External Source: CONFIRM

Name: https://bugzilla.redhat.com/show_bug.cgi?id=1141597

Type: Patch Information

Hyperlink: https://bugzilla.redhat.com/show_bug.cgi?id=1141597

[h=4]Vulnerable software and versions[/h]WebResource.axd?d=BwjQPsSz1kwrK0JefnjRj9YiJl9EcOmOaEgzT7Lh9LluDuieHFUOEcli977G7MZIUnUaZ4MaBui03R7KOHSlKRFyBjwqZkzFS2LpSvxTRJ81&t=635195493660000000[TABLE]

[TR]

[TD]WebResource.axd?d=BsrRpztjSVa2ktBvaWrZApeNE1Y3dPEGXBdTYHtQH_RScxrg18kA7eteFCzyBY-2sYvqZUHrkLTyoCUx8p4P4CoontYbnB8bpjbtTKQ6a2DZFC1Z-F06kXYb8dgZndWu0&t=635195493660000000[/TD]

[TD]Configuration 1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]WebResource.axd?d=BsrRpztjSVa2ktBvaWrZApeNE1Y3dPEGXBdTYHtQH_RScxrg18kA7eteFCzyBY-2sYvqZUHrkLTyoCUx8p4P4CoontYbnB8bpjbtTKQ6a2DZFC1Z-F06kXYb8dgZndWu0&t=635195493660000000[/TD]

[TD]OR[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.0[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.2[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.3[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.4[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.5[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.6[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:1.14.7[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.0[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.01[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.01.1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.02[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.02.1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.03[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.04[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.05[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.05:a[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:2.05:b[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:3.0[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:3.0.16[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:3.1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:3.2[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:3.2.48[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:4.0[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:4.0:rc1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:4.1[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:4.2[/TD]

[/TR]

[/TABLE]

[TABLE]

[TR]

[TD]

[/TD]

[TD]

[/TD]

[TD]WebResource.axd?d=Ewb6A2l__VrHBIc4_NKsqqNmAZ4ZQ1J6zZZ72oseypXLwSvcqm7cgFZXs5oSleudulsS57WqS2Fb7a6FITG4JT4ANO13NDDbbcDCoahn8wBHMwVwoOxMN93G1L6CLOlg0&t=635195493660000000[/TD]

[TD]* cpe:/a:gnu:bash:4.3[/TD]

[/TR]

[/TABLE]

* Denotes Vulnerable Software

Changes related to vulnerability configurations

[h=4]Technical Details[/h]Vulnerability Type (View All)

  • OS Command Injections (CWE-78)

CVE Standard Vulnerability Entry CVE - CVE-2014-6271 

[/TD]

[/TR]

[/TABLE]

la falla è già stata corretta su Debian e altre principali distribuzioni GNU/Linux, aggiornate.

Su Mac aspetteremo le calende greche, volendo si può compilare la bash aggiornata oppure installarla tramite homebrew disabilitando l'esecuzione di quella di sistema:

security - How do I recompile Bash to avoid the remote exploit CVE-2014-6271 and CVE-2014-7169? - Ask Different

potenzialmente esposti tutti i dispositivi con installato bash, quindi non necessariamente tutta la roba *nix. Molti sistemi embedded (e non) usano shell alternative o strippate tipo busybox.

per verificare se la vostra bash è vulnerabile, digitate questo comando

env x='() { :;}; echo vulnerabile' bash -c "echo prova"

se il risultato è

vulnerabile

prova

senza messaggi di errore, allora è vulnerabile. Ciao.

Mazda MX-5 20th anniversary "barbone edition" - Tutto quello che scrivo è IMHO

k21x8z.png

Link to comment
Share on other sites

Cavoli... nessuna delle mie macchine da' messaggio di errore...

La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché! (Albert Einstein)

Link to comment
Share on other sites

Jeby hai il potere di farmi sentire nato nel 1831 ...

Cavolo è 'sta roba? Cosa devo fare al mio Imac?

io non farei nulla :) anzi, io al mio MBP non faccio nulla. Ho aggiornato il server Pi solo perché è appiccicato ad internet 24/7. Inoltre la falla in questione è in giro da millemila anni, quindi... in ogni caso, se vuoi puoi:

- aspettare che Apple mandi l'aggiornamento per risolvere la vulnerabilità (scelta consigliata)

- sostituire la versione di bash installata con una più recente, togliendo i diritti di esecuzione ai vecchi binari, ad esempio si può fare così (se hai Xcode installato):

ATTENZIONE PROCEDURA SCONSIGLIATA E POTENZIALMENTE DANNOSA

da terminale:

mkdir bash-fixcd bash-fix

curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -

cd bash-92/bash-3.2

curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052| patch -p0

cd ..

xcodebuild

sudo cp /bin/bash /bin/bash.old

sudo cp /bin/sh /bin/sh.old

build/Release/bash --version # GNU bash, version 3.2.52(1)-release

build/Release/sh --version # GNU bash, version 3.2.52(1)-release

sudo cp build/Release/bash /bin $ sudo cp build/Release/sh /bin

in questo modo hai scaricato l'ultima versione, copiato la precedente in un file di backup, compilato con xcode la nuova versione.

fatto ciò, con questo comando:

sudo chmod a-x /bin/bash.old /bin/sh.old

togli i privilegi di esecuzione ai file di backup della vecchia versione di bash (e sh).

L'alternativa è utilizzare homebrew per installare una versione alternativa di bash.

In questo caso bisognerà procedere ad abilitare la nuova bash come bash di default e poi comunque togliere i privilegi di esecuzione alla bash originale

sudo chmod a-x /bin/bash/bin/sh

hqdefault.jpg

capisci magintosc?

Edited by jeby
AGGIUNTO DISCLAIMER

Mazda MX-5 20th anniversary "barbone edition" - Tutto quello che scrivo è IMHO

k21x8z.png

Link to comment
Share on other sites

Se una macchina è esposta ad internet ma:

1) non ha un serverino http con accesso dall'esterno

2) non ha ssh con accesso dall'esterno

non c'è nessuna particolare urgenza nell'aggiornare bash.

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Link to comment
Share on other sites

Grazie mille, la mia ignoranza non ha confini.

Devo verificare il mio PC "scaricatore" (mio portatile del 2004 con lubuntu) che ha come unico compito il suo nome.

 Clio trefaseb dinamica e Scenic edizione uno entrambe alimentate a miscela di idrocarburi contenenti da 13 a 18 atomi di C.

Link to comment
Share on other sites

Se una macchina è esposta ad internet ma:

1) non ha un serverino http con accesso dall'esterno

2) non ha ssh con accesso dall'esterno

non c'è nessuna particolare urgenza nell'aggiornare bash.

ma nel caso di SSH con accesso dall'esterno (come nel mio caso), se la connessione è protetta da una password sufficientemente robusta il rischio c'è comunque o no?

Mazda MX-5 20th anniversary "barbone edition" - Tutto quello che scrivo è IMHO

k21x8z.png

Link to comment
Share on other sites

Io continuo a non capire di che si sta parlando.... :pensa:

Con bash è possibile creare delle funzioni che poi si esportano ai processi derivati attraverso le variabili d'ambiente. Queste funzioni permettono di aggiungere funzionalità a bash e ai relativi script. Una dichiarazione di funzione appositamente malformata (vedi esempio / test di jeby) può causare il bug. Il bug consiste nel fatto che la funzione malandrina non viene eseguita solo se richiamata dalla shell del processo derivato, bensì automaticamente all'atto della creazione dell'ambiente per il processo figlio.

Chiaro no? :P

Ora vediamo in concreto.


[COLOR=#000000]$ env x='() { :;}; echo vulnerabile' bash -c "echo prova"
[/COLOR]

1) env è il comando che serve a dichiarare la funzione da esportare con la variabile d'ambiente x che in questo caso è anche il nome della funzione.

2) () serve a far capire a bash che, appunto, si tratta di una dichiarazione di funzione e non di una mera dichiarazione di variabile.

3) { :;} Le parentesi graffe racchiudono le istruzioni che compongono la funzione. In questo caso la funzione non fa nulla: : e ; si mettono perché una dichiarazione di funzione non può essere vuota (: è un no-op di bash, cioè non fa nulla, equivale a "true", ; è il simbolo di fine riga di comando) .

4) ; echo vulnerabile stampa sul terminale "vulnerabile". Questo comando però è al di fuori delle {} e bash dovrebbe rifiutarsi di accettarlo nella definizione della funzione x(), ma questo non succede, anzi (vedi dopo)

5) bash -c "echo prova" lancia un processo derivato (o child process) con un'altra istanza di bash che viene istruita (switch -c) ad eseguire "echo prova" (cioè stampa "prova" sul terminale). Nel creare l'ambiente per il processo derivato, bash esporta le variabili d'ambiente del processo principale, ivi compresa la funzione x(). Ma visto che questa è malformata (e bash è buggato) non solo bash la esporta, ma la esegue.

Ecco perché le versioni buggate di bash, con quel comando, stampano "vulnerabile".

Una versione non buggata di bash si comporta così:


$ env x='() { :;}; echo vulnerabile' bash -c "echo prova"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `Ø
prova

- - - - - - - - - - AGGIUNTA al messaggio già esistente - - - - - - - - - -

ma nel caso di SSH con accesso dall'esterno (come nel mio caso), se la connessione è protetta da una password sufficientemente robusta il rischio c'è comunque o no?

No.

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Link to comment
Share on other sites

No.

Grazie, comunque dal sito di attivissimo:

ShellShock: falla critica in Linux, Mac OS X e altri sistemi operativi basati su Unix | Il Disinformatico

È già in circolazione il primo malware (un bot) che sfrutta questa vulnerabilità (Virustotal; Kernelmode.info). Aggiornate i vostri antivirus, che dovrebbero già riconoscere questo malware. Una spiegazione molto dettagliata è su Troyhunt.comTroyhunt.com.

aggiornamento 2: occhio a ricompilare la bash su Mac che può portare problemi e non risolvere nulla:

http://alblue.bandlem.com/2014/09/bash-remote-vulnerability.html

- - - - - - - - - - AGGIUNTA al messaggio già esistente - - - - - - - - - -

Mi viene il dubbio sul router, dovrebbe avere busybox e non bash, ma come faccio a verificare? Mi ci devo connettere in ssh immagino... Comunque l'articolo su troyhunt è molto interessante

Edited by jeby

Mazda MX-5 20th anniversary "barbone edition" - Tutto quello che scrivo è IMHO

k21x8z.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

 

Please, disable AdBlock plugin to access to this website.