Skip to content

Commit 7faa31d

Browse files
committed
Merge pull request ruby#876 from GRoguelon/rexml_ssl_tls
Translate in french the 5 last news (REXML & SSL).
2 parents 4b0f306 + 3da7956 commit 7faa31d

6 files changed

+453
-1
lines changed

fr/news/_posts/2013-02-23-dni-de-service-et-vulnrabilit-de-cration-dobjets-non-srs-cve-2013-0269.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ vous encourageons très fortement à mettre à jour Ruby.
1313

1414
## Détails
1515

16-
Lors de l\'analyse de certains documents JSON, la gem JSON (inclue avec
16+
Lors de l\'analyse de certains documents JSON, la gem JSON (inclus avec
1717
ruby) peut être forcée à créer des symboles Ruby dans le système cible.
1818
Comme les symboles Ruby ne sont pas libérés de la mémoire par le
1919
ramasse-miettes, cela peut résulter en une attaque par déni de service.
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
---
2+
layout: news_post
3+
title: "Changement des options par défaut de ext/openssl"
4+
author: "usa"
5+
translator: "Geoffrey Roguelon"
6+
date: 2014-10-27 12:00:00 +0000
7+
tags: security
8+
lang: fr
9+
---
10+
11+
Nous avons changé les options par défaut de ext/openssl dans Ruby 2.1.4,
12+
Ruby 2.0.0-p594 et Ruby 1.9.3-p550.
13+
Avec ce changement, les options non-sécurisées de SSL/TLS sont désactivées par défaut.
14+
Cependant, avec ce changement, il se peut que certains problèmes apparaissent
15+
avec les connexions SSL.
16+
17+
## Détails
18+
19+
OpenSSL implémente encore des protocoles et des algorithmes de chiffrement
20+
reconnus comme vulnérables pour des raisons historiques.
21+
Par exemple, la faille POODLE ([CVE-2014-3566](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566)),
22+
si vous continuez à utiliser OpenSSL avec ce genre de fonctionnalités, il se
23+
peut que vous ne puissiez garantir la sécurité de vos échanges réseaux.
24+
Par conséquent, suite à la discussion du [bug #9424](https://bugs.ruby-lang.org/issues/9424),
25+
nous avons décidé de désactiver les options non-sécurisées de SSL/TLS par défaut.
26+
Si vous avez besoin d'annuler ce changement (inclus ci-dessous), appliquez le
27+
patch inverse pour revenir en arrière.
28+
29+
2.1.4 : [r48098](http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=48098&view=revision)
30+
31+
2.0.0-p594 : [r48110](http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=48110&view=revision)
32+
33+
1.9.3-p550 : [r48121](http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=48121&view=revision)
34+
35+
Néanmoins, si vous annulez ce changement, vous risquez de ne plus pouvoir
36+
garantir la sécurité de vos communications réseaux.
37+
Vous devez comprendre les implications de ce changement avant de le supprimer.
38+
39+
### Bibliothèques incluses dans Ruby
40+
41+
Ce changement affecte les bilbiothèques net/http, net/imap et net/pop.
42+
Depuis que DRb et WEBrick gèrent leurs options séparément, ce changement ne les
43+
concerne pas.
44+
45+
### Scripts utilisant ext/openssl directement
46+
47+
Ce changement affecte les instances de l'objet `OpenSSL::SSL::SSLContext` et les
48+
appels de la méthode d'instance `set_params`.
49+
50+
Plus particulièrement les codes du type :
51+
52+
{% highlight ruby %}
53+
ctx = OpenSSL::SSL::SSLContext.new
54+
ctx.set_params # si vous voulez changez certaines options, telle que le mode de
55+
vérification et autre, vous pouvez les passer dans une Hash
56+
ssl = OpenSSL::SSL::SSLSocket.new(socket, ctx)
57+
{% endhighlight %}
58+
59+
Quand vous utilisez ext/openssl côté client, nous partons du principe que ce
60+
changement ne posera pas de problème.
61+
Par contre, si vous utilisez ext/openssl côté serveur et que vous utilisez ces
62+
nouvelles options, il se peut que certains anciens clients (Internet Explorer 6
63+
sur Windows XP, les navigateurs sur les vieux mobiles, etc…) ne puissent pas se
64+
connecter au serveur.
65+
66+
Cette décision vous appartient d'appliquer ou non ce changement, considérez le
67+
pour et le contre.
68+
69+
## Solution alternative
70+
71+
Si vous ne pouvez pas mettre à jour Ruby mais que vous devez vous prémunir des
72+
options non-sécurisées de SSL/TLS, appliquez le patch suivant à vos projets :
73+
74+
{% highlight ruby %}
75+
module OpenSSL
76+
module SSL
77+
class SSLContext
78+
remove_const(:DEFAULT_PARAMS)
79+
DEFAULT_PARAMS = {
80+
:ssl_version => "SSLv23",
81+
:verify_mode => OpenSSL::SSL::VERIFY_PEER,
82+
:ciphers => %w{
83+
ECDHE-ECDSA-AES128-GCM-SHA256
84+
ECDHE-RSA-AES128-GCM-SHA256
85+
ECDHE-ECDSA-AES256-GCM-SHA384
86+
ECDHE-RSA-AES256-GCM-SHA384
87+
DHE-RSA-AES128-GCM-SHA256
88+
DHE-DSS-AES128-GCM-SHA256
89+
DHE-RSA-AES256-GCM-SHA384
90+
DHE-DSS-AES256-GCM-SHA384
91+
ECDHE-ECDSA-AES128-SHA256
92+
ECDHE-RSA-AES128-SHA256
93+
ECDHE-ECDSA-AES128-SHA
94+
ECDHE-RSA-AES128-SHA
95+
ECDHE-ECDSA-AES256-SHA384
96+
ECDHE-RSA-AES256-SHA384
97+
ECDHE-ECDSA-AES256-SHA
98+
ECDHE-RSA-AES256-SHA
99+
DHE-RSA-AES128-SHA256
100+
DHE-RSA-AES256-SHA256
101+
DHE-RSA-AES128-SHA
102+
DHE-RSA-AES256-SHA
103+
DHE-DSS-AES128-SHA256
104+
DHE-DSS-AES256-SHA256
105+
DHE-DSS-AES128-SHA
106+
DHE-DSS-AES256-SHA
107+
AES128-GCM-SHA256
108+
AES256-GCM-SHA384
109+
AES128-SHA256
110+
AES256-SHA256
111+
AES128-SHA
112+
AES256-SHA
113+
ECDHE-ECDSA-RC4-SHA
114+
ECDHE-RSA-RC4-SHA
115+
RC4-SHA
116+
}.join(":"),
117+
:options => -> {
118+
opts = OpenSSL::SSL::OP_ALL
119+
opts &= ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS if defined?(OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS)
120+
opts |= OpenSSL::SSL::OP_NO_COMPRESSION if defined?(OpenSSL::SSL::OP_NO_COMPRESSION)
121+
opts |= OpenSSL::SSL::OP_NO_SSLv2 if defined?(OpenSSL::SSL::OP_NO_SSLv2)
122+
opts |= OpenSSL::SSL::OP_NO_SSLv3 if defined?(OpenSSL::SSL::OP_NO_SSLv3)
123+
opts
124+
}.call
125+
}
126+
end
127+
end
128+
end
129+
{% endhighlight %}
130+
131+
## Versions concernées
132+
133+
* Ruby 1.9.3 patchlevel 550 et plus récent
134+
* Ruby 2.0.0 patchlevel 594 et plus récent
135+
* Ruby 2.1.4 et plus récent
136+
* revision 48097 et trunk plus récent
137+
138+
## Historique
139+
140+
* Article publié le 27 octobre 2014 à 12h00 (UTC)
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
layout: news_post
3+
title: "CVE-2014-8080 : Déni de service sur l'expansion XML"
4+
author: "zzak"
5+
translator: "Geoffrey Roguelon"
6+
date: 2014-10-27 12:00:00 +0000
7+
tags: security
8+
lang: fr
9+
---
10+
11+
Une expansion d'entité sans restriction peut conduire à une vulnérabilité DoS
12+
dans REXML.
13+
Cette vulnérabilité a reçu un identifiant [CVE-2014-8080](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8080).
14+
Nous recommandons grandement de mettre à jour Ruby.
15+
16+
## Détails
17+
18+
Lors de la lecture des nœuds d'un document XML, l'analyseur REXML peut être
19+
forcé à allouer de très grands objets String qui peuvent consommer toute la
20+
mémoire de la machine et causer une attaque par déni de service.
21+
22+
Typiquement, les scripts impactés sont de la forme :
23+
24+
{% highlight ruby %}
25+
require 'rexml/document'
26+
27+
xml = <<XML
28+
<!DOCTYPE root [
29+
# ENTITY expansion vector
30+
]>
31+
<cd></cd>
32+
XML
33+
34+
p REXML::Document.new(xml)
35+
{% endhighlight %}
36+
37+
Tous les utilisateurs utilisant une version affectée doivent soit mettre à jour
38+
Ruby ou utiliser une solution de contournement dans les plus brefs délais.
39+
40+
## Versions concernées
41+
42+
* Toutes les versions de Ruby 1.9 antérieures à Ruby 1.9.3 patchlevel 550
43+
* Toutes les versions de Ruby 2.0 antérieures à Ruby 2.0.0 patchlevel 594
44+
* Toutes les versions de Ruby 2.1 antérieures à Ruby 2.1.4
45+
* Toutes les révisions du trunk antérieures à 48161
46+
47+
## Solution alternative
48+
49+
Si vous ne pouvez pas mettre à jour Ruby, utilisez ce patch comme solution
50+
alternative pour les versions de Ruby supérieure à 2.1.0 :
51+
52+
{% highlight ruby %}
53+
class REXML::Entity
54+
def value
55+
if @value
56+
matches = @value.scan(PEREFERENCE_RE)
57+
rv = @value.clone
58+
if @parent
59+
sum = 0
60+
matches.each do |entity_reference|
61+
entity_value = @parent.entity( entity_reference[0] )
62+
if sum + entity_value.bytesize > Security.entity_expansion_text_limit
63+
raise "entity expansion has grown too large"
64+
else
65+
sum += entity_value.bytesize
66+
end
67+
rv.gsub!( /%#{entity_reference.join};/um, entity_value )
68+
end
69+
end
70+
return rv
71+
end
72+
nil
73+
end
74+
end
75+
{% endhighlight %}
76+
77+
Pour les versions antérieures à 2.1.0, vous pouvez utiliser le patch suivant :
78+
79+
{% highlight ruby %}
80+
class REXML::Entity
81+
def value
82+
if @value
83+
matches = @value.scan(PEREFERENCE_RE)
84+
rv = @value.clone
85+
if @parent
86+
sum = 0
87+
matches.each do |entity_reference|
88+
entity_value = @parent.entity( entity_reference[0] )
89+
if sum + entity_value.bytesize > Document.entity_expansion_text_limit
90+
raise "entity expansion has grown too large"
91+
else
92+
sum += entity_value.bytesize
93+
end
94+
rv.gsub!( /%#{entity_reference.join};/um, entity_value )
95+
end
96+
end
97+
return rv
98+
end
99+
nil
100+
end
101+
end
102+
{% endhighlight %}
103+
104+
## Crédits
105+
106+
Merci à Willis Vandevanter pour avoir signaler ce bug.
107+
108+
## Historique
109+
110+
* Article publié le 27 octobre 2014 à 12h00 (UTC)
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 1.9.3-p550 est disponible"
4+
author: "usa"
5+
translator: "Geoffrey Roguelon"
6+
date: 2014-10-27 12:00:00 +0000
7+
lang: fr
8+
---
9+
10+
Nous avons le plaisir de vous annoncer la sortie de Ruby 1.9.3-p550.
11+
12+
Cette version inclut un correctif de sécurité sur une faille DoS de REXML.
13+
14+
* [CVE-2014-8080 : Déni de service sur l'expansion XML](https://www.ruby-lang.org/fr/news/2014/10/27/rexml-dos-cve-2014-8080/)
15+
16+
Cette version inclut également un changement sur les options par défaut de
17+
ext/openssl.
18+
Les options SSL/TLS vulnérables sont désormais désactivées par défaut.
19+
20+
* [Changement des options par défaut de ext/openssl](https://www.ruby-lang.org/fr/news/2014/10/27/changing-default-settings-of-ext-openssl/)
21+
22+
De plus, la version de jQuery inclus dans le template darkfish de RDoc a été
23+
mise à jour.
24+
25+
## Remarque
26+
27+
La version de Ruby 1.9.3 est maintenant entrée dans une phase de maintenance de
28+
sécurité.
29+
Cela veut dire que nous ne corrigerons plus les bugs exceptés ceux de sécurité.
30+
Et, pour l'instant, la fin du support de Ruby 1.9.3 a été programmée pour
31+
février 2015.
32+
Nous recommandons que les utilisateurs de Ruby 1.9.3 doivent migrer vers une
33+
version plus récente dès que possible.
34+
35+
36+
## Téléchargements
37+
38+
* [http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.bz2](http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.bz2)
39+
40+
TAILLE: 10053787 bytes
41+
MD5: c2169c8b14ccefd036081aba5ffa96da
42+
SHA256: d3da003896db47fb10ba4d2e0285eea7fe8cdc785b86c02ebad5bc9cdeaa4748
43+
SHA512: 38767e98df25484f7292437f3cb0f798b3a43e9a7414a5401677e96ad1cc367cb3fa23ac3abe568d5bf2b2ca553713469a8770d41b79bc63daf3fa59cb4e15c6
44+
45+
* [http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.gz](http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.gz)
46+
47+
TAILLE: 12605180 bytes
48+
MD5: e05135be8f109b2845229c4f47f980fd
49+
SHA256: d6cf008d9f3a9aeed2ef04428f19d66e28aed8a71456f7edba68627d3302cd6b
50+
SHA512: 420d4f9fe027ffc3ec5cc4ea19cf6e1f1473199ee4af06ef364c08f4a04bf65e253b32e76f37370b8e56ad2e26d0c09e6fa5b1f7c0b407b0c68b63acd2cce975
51+
52+
* [http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.xz](http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.xz)
53+
54+
TAILLE: 7714228 bytes
55+
MD5: c0261155faec6cfc9aa16790ee56448f
56+
SHA256: c87f04392010ec7f01b12dcbb6d985c61d5f481e71d2a7b25b5f1e72d2d61faa
57+
SHA512: cd68e60e01c31642fac08d88846dd8ce9ba287d8322f779490a4e016611090af0cbdee5be4ac611c5468cab90c6a2cdfe2a08c0c05106b6fe61c1253e49273d5
58+
59+
* [http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.zip](http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.zip)
60+
61+
TAILLE: 13987149 bytes
62+
MD5: 4946e5f3d083894372a7a46342e885f7
63+
SHA256: 6e7eceddca615c19f81c125f9864de3570b9687df858cfb27298d867521d5beb
64+
SHA512: 0daa8fafa950f1e6ddf79815a615c7d730d234042718bd70e8211e4c23d7cc93126c924ad42673844c3a8cb908bf02a8d03ae2857658a027935f46c13bb17a13
65+
66+
## Commentaire de version
67+
68+
Je suis reconnaissant à tous ceux qui contribuent à Ruby.
69+
Merci.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 2.0.0-p594 est disponible"
4+
author: "usa"
5+
translator: "Geoffrey Roguelon"
6+
date: 2014-10-27 12:00:00 +0000
7+
lang: fr
8+
---
9+
10+
Nous avons le plaisir de vous annoncer la sortie de Ruby 2.0.0-p594.
11+
12+
Cette version inclut un correctif de sécurité sur une faille DoS de REXML.
13+
14+
* [CVE-2014-8080 : Déni de service sur l'expansion XML](https://www.ruby-lang.org/fr/news/2014/10/27/rexml-dos-cve-2014-8080/)
15+
16+
Cette version inclut également un changement sur les options par défaut de
17+
ext/openssl.
18+
Les options non-sécurisées de SSL/TLS sont désormais désactivées par défaut.
19+
20+
* [Changement des options par défaut de ext/openssl](https://www.ruby-lang.org/fr/news/2014/10/27/changing-default-settings-of-ext-openssl/)
21+
22+
De plus, plusieurs bugs ont été corrigés.
23+
Voir les [tickets](https://bugs.ruby-lang.org/projects/ruby-200/issues?set_filter=1&amp;status_id=5)
24+
et le [ChangeLog](http://svn.ruby-lang.org/repos/ruby/tags/v2_0_0_594/ChangeLog)
25+
pour plus de détails.
26+
27+
## Téléchargements
28+
29+
* [http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.bz2](http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.bz2)
30+
31+
TAILLE: 10756895 bytes
32+
MD5: 58469c0daf5f3a892a70cc674ea59c7f
33+
SHA256: e5aee3cf36898315f87771a5e657c81befb88b6afa585b70aaa57c47cc0e99a4
34+
SHA512: 8301a51c73fb63a8cfeb14af47d0c18b5bc3c45e3d62fc2ed56a673a1cd6b0015c41f275e70eb14a9e40036b1530977199321e05285e107a6adf58514bef1b3d
35+
36+
* [http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.gz](http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.gz)
37+
38+
TAILLE: 13606970 bytes
39+
MD5: a9caa406da5d72f190e28344e747ee74
40+
SHA256: ee515dd7b17cdbc106396cd432f5662bb0b5afc05044469175914aab65f3c6e7
41+
SHA512: a6544f68a87aa3d00a59cee8c090386cf1fa6d6bfe5730af909d614e90bff9ee64c2cf9f542f7a43f8352b86e3945693504ffed6cefc57f736c6e26670ddb9ca
42+
43+
* [http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.xz](http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.xz)
44+
45+
TAILLE: 8316772 bytes
46+
MD5: fc64932b4d4af0f91c03d7966fbbc9b2
47+
SHA256: 561465447428a5bc52ed3cca98c6067948b2c81811e1445a196b1c24913b3e72
48+
SHA512: d5ba88dd5eb3569203cbe91e75bf21bea6897338885479e34a839569de15ca2f09e4eff655636923892e9234a0f0b6a2c058442ebc1b13a3d2ddced25bd88fa8
49+
50+
* [http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.zip](http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.zip)
51+
52+
TAILLE: 15125232 bytes
53+
MD5: d5801bbe794a07236c3bcf4a28ad3509
54+
SHA256: 38a8db127d5b241ac2090ef75e9f7941a34851d4c6b61135b88019129f9c04a3
55+
SHA512: 1f7d94029e5af480a0ae0ebd21129a01b0066fecd15278b272754e6e80b6a6fb1ded53fd1288e7375a17021d482a59b40414270923c2ecfb06999ea66a91fc54
56+
57+
## Commentaire de version
58+
59+
Je suis reconnaissant à tous ceux qui contribuent à Ruby.
60+
Merci.

0 commit comments

Comments
 (0)