OpenSSL 1.0.2a fix several security issues, one of them let crash TLSv1.2 based services remotelly from internet.
Regarding to the TLSv1.2 RFC, this version of TLS provides a "signature_algorithms" extension for the client_hello.
Regarding to the TLSv1.2 RFC, this version of TLS provides a "signature_algorithms" extension for the client_hello.
![]()  | 
| Data Structures | 
If a bad signature is sent after the renegotiation, the structure will be corrupted, becouse structure pointer:
s->c->shared_sigalgs will be NULL, and the number of algorithms:
s->c->shared_sigalgslen will not be zeroed.
Which will be interpreted as one algorithm to process, but the pointer points to 0x00 address.
s->c->shared_sigalgs will be NULL, and the number of algorithms:
s->c->shared_sigalgslen will not be zeroed.
Which will be interpreted as one algorithm to process, but the pointer points to 0x00 address.
Then tls1_process_sigalgs() will try to process one signature algorithm (becouse of shared_sigalgslen=1) then sigptr will be pointer to c->shared_sigalgs (NULL) and then will try to derreference sigptr->rhash. 
This mean a Segmentation Fault in  tls1_process_sigalgs() function, and called by tls1_set_server_sigalgs() with is called from ssl3_client_hello() as the stack trace shows.
![]()  | 
| StackTrace | 
The following code, points sigptr to null and try to read sigptr->rsign, which is assembled as movzbl eax, byte ptr [0x0+R12] note in register window that R12 is 0x00
![]()  | 
| Debugger in the crash point. | 
![]()  | 
| radare2 static decompiled | 
Get David A. Ramos' proof of concept exploit here
Related news
- Hacking Libro
 - Hacking Virus
 - Ultimate Hacking Keyboard
 - Hacking Wikipedia
 - Hacking Prank
 - Hacking Web
 - Hacking With Arduino
 - Diferencia Entre Hacker Y Cracker
 - Manual Del Hacker
 - Best Hacking Books
 - Master Growth Hacking
 - Hacker En Español
 - Que Hace Un Hacker
 - Hacking Linkedin
 - Hacking Google Home Mini
 - Growth Hacking Definicion
 




Nenhum comentário:
Postar um comentário