@@ -7,14 +7,14 @@ date: 2013-05-14 13:00:00 UTC
7
7
lang : it
8
8
---
9
9
10
- Esiste una vulnerabilità in DL e Fiddle in Ruby, in cui è possibile utilizzare
11
- catene corrotti en una chiamata di sistema, indipendentemente dal livello di $SAFE.
12
- Esso è stato assegnato l'identificatore CVE per la vulnerabilità CVE-2013 -2065.
10
+ Esiste una vulnerabilità in DL e Fiddle in Ruby che consente di utilizzare
11
+ stringhe * tainted * in chiamate di sistema, indipendentemente dal livello di $SAFE.
12
+ Alla vulnerabilità è stato assegnato l'identificatore CVE CVE-2013 -2065.
13
13
14
14
## Impatto
15
15
16
- Funzioni native esposte in Ruby con DL o Fiddle non convalidare i valori degli oggetti
17
- che passano . Questo potrebbe causare che oggetti corrotti sono accettati come ingresso
16
+ Le funzioni native esposte a Ruby con DL o Fiddle non controllano il valore di * taint *
17
+ degli oggetti passati . Questo potrebbe risultare in oggetti * tainted * accettati come input
18
18
invece di sollevare un'eccezione di classe SecurityError.
19
19
20
20
Esempio di codice vulnerabile con DL:
@@ -46,11 +46,11 @@ my_function "uname -rs".taint
46
46
{% endhighlight %}
47
47
48
48
Tutti gli utenti che utilizzano una versione affetta devono aggiornare alla
49
- versione più recente o di utilizzare una delle soluzioni proposte immediatamente.
49
+ versione più recente o utilizzare una delle soluzioni proposte immediatamente.
50
50
51
- Nota: tutto questo non impedisce lo spostamento di memoria utilizzando i valori
52
- numerici e puntatore. I numeri non sono corruttibili, quindi se si passa un spostamento
53
- di memoria numerica compensato questo non può essere convalidato. Esempio :
51
+ Nota: tutto questo * non* impedisce l'utilizzo di offset numerici come puntatori.
52
+ I numeri non possono essere marchiati come * tainted * , quindi gli offset numerici
53
+ non possono essere convalidati. Ad esempio :
54
54
55
55
{% highlight ruby %}
56
56
def my_function(input)
@@ -65,9 +65,8 @@ user_input = "uname -rs".taint
65
65
my_function DL::CPtr[ user_input] .to_i
66
66
{% endhighlight %}
67
67
68
- In questo caso, ciò che sta accadendo è l'indirizzo di memoria dell'oggetto che non può
69
- essere convalidata da DL / Fiddle. In questo caso, è necessario convalidare l'oggetto
70
- prima di passare l'indirizzo di memoria:
68
+ In questo caso viene passato un indirizzo di memoria, che non può essere convalidato da DL / Fiddle.
69
+ È quindi necessario controllare il * taint* dell'input dell'utente prima di passare l'indirizzo di memoria:
71
70
72
71
{% highlight ruby %}
73
72
user_input = "uname -rs".taint
98
97
* Tutte le versioni di Ruby 2.0 precedenti alla versione a p-195
99
98
* Prima della revisione 40728
100
99
101
- Ruby 1.8 versioni non sono soggette alla vulnerabilità
100
+ Le versioni di Ruby 1.8 non sono soggette alla vulnerabilità.
102
101
103
- ## Credits
102
+ ## Riconoscimenti
104
103
105
104
Grazie a Vit Ondruch por aver segnalato questo problema.
106
105
107
106
## Cronologia
108
107
109
- * Publicado per la prima volta il giorno 2013-05-14 alle ore 13:00:00 (UTC)
108
+ * Pubblicato per la prima volta il giorno 2013-05-14 alle ore 13:00:00 (UTC)
0 commit comments