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
Continue reading
- Hacker Videos
- Hacker Google
- Hacking Websites
- Pentest As A Service
- Pentest Magazine
- Hacking Bluetooth
- Pentest Open Source
- Hacking Gif
- Hacking The System
- Pentest Guide
- Hacking Jacket
- Hacking Typer
- Pentest Vpn
- Pentest Tools Github
- Pentest Wiki
- Hacker Google
- Pentest+ Vs Oscp
- Hacker Software
- Hackerone
- Pentest Cheat Sheet
No comments:
Post a Comment