News for hackers. Stuff that matters.
Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by nothrabannosir on Monday September 10, 2018 @08:36PM (#17956285)
Check out the TLS SNI exploit. The attack allows embedding CRLF in a TLS payload. The entire handshake leading up to it is ignored by an SMTP server, and the next command is valid SMTP. Meaning that if you ask something to e.g. load an image from, or send a callback to "https://smtp.targetcorp.com<space><CR><LF>...smtp instructions to send mail here...:25/" it'll actually work. As far as I understand this is the TLS handshake so even before any HTTP is done; post, get, whatever. All works.

Good moment to lock down outgoing requests, I guess. At least to port 25 :)

Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by userbinator on Monday September 10, 2018 @10:33PM (#17956784)
I've not communicated with SMTP servers manually all that much, but I remember my ISP's SMTP server would just close the connection if you sent it something it didn't understand.
Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by Kalium on Tuesday September 11, 2018 @03:48AM (#17957869)
That sounds like most SMTP servers - they just reject what they don't understand.

The wrinkle here that might be, in the opinion of some, worth noting is that this gives SMTP servers something they understand fully. The HTTP server has been convinced to send perfectly well-formed and valid SMTP commands.

Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by jrochkind1 on Monday September 10, 2018 @09:30PM (#17956537)
Wait, how does "targetcorp.com<space>etc" even DNS resolve? Trying to wrap my head around this one.
Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by jsjohnst on Monday September 10, 2018 @11:56PM (#17957078)
That’s covered in the slides. Check Glibc section on gethostbyaddr().
Re:Exploiting URL Parser in Programming Languages (2017) [pdf] by treve on Tuesday September 11, 2018 @12:06PM (#17960971)
That sounds like a good second mitigation then. Only allow known HTTP ports.