George,

As an open source project with an open development process, the Tomcat
security team has a number of challenges to deal with.

First, any commit to address a security issue will be public before the
security issue is announced and before a release is available that
includes the fix. We therefore have to be careful that the commit and
associated log entry do not draw attention to the issue.

Secondly, we know that a large proportion of attacks are from "script
kiddies" that run every attack they (or more likely the toolkit they
downloaded) know against every server they can find. We therefore do not
provide proofs of concept, recipes for reproducing issues (we can't stop
the original reporter producing them) or specific details of the attack
where we can avoid doing so. Yes, a sophisticated attacker could reverse
engineer some issues but they tend not share when they do so and - on
balance - we consider not disclosing the details the right thing to do.

(As an aside I haven't looked at how easy issues are to reverse engineer
from the commit that fixed them. Going from memory I can only recall
that some would be very simple and some very unlikely. I can't recall
enough information to determine what proportion they are in. That might
be an interesting exercise.)

Thirdly, we want to provide users with enough information to determine
if they are vulnerable without providing instructions to reproduce the
issue (see previous point).

As I am sure you can appreciate, there is a tricky balance to strike
here. As I wrote both the commit that fixed the issue and the
vulnerability announcement, let me see if I can reword it in a way that
is more helpful.

If the reverse proxy accepts anything other then CRLF as the end of line
marker for an HTTP header (it shouldn't the HTTP/1.1 RFCs require CRLF
for headers) then a request smuggling attack as described by
CVE-2020-1935 is likely to be possible.

It should be relatively simple to test what the reverse proxy accepts
and doesn't accept. For completeness you might want to test how it
responds to all bytes from 0x00 to OxFF in a field name and/or value as
well and ensure that it is compliant with RFC 7230.

HTH,

Mark



On 24/07/2020 23:13, George Stanchev wrote:
> Chris,
> 
> This is just silly. The code change is there. If I am rouge actor, I can and 
> I will understand issue and try to produce exploit. With explanation like 
> this legitimate Tomcat users are left to scratch their head if they are 
> vulnerable or not especially as the explanation says that a 3rd party 
> upstream component *could* be misconfigured but does not explain how. I hope 
> you understand the absurdity of the situation and how it makes the job of 
> people like me just harder and it does not provide any additional security. I 
> hope the rest of the Tomcat team doesn't share your sentiment.
> 
> Cheers!
> 
> George
> 
> -----Original Message-----
> From: Christopher Schultz <ch...@christopherschultz.net> 
> Sent: Friday, July 24, 2020 3:40 PM
> To: users@tomcat.apache.org
> Subject: Re: CVE-2020-1935
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> George
> George,
> 
> On 7/24/20 15:15, George Stanchev wrote:
>> The description for this CVE is pretty vague (as perhaps
>> necessary) but we have a customer that is trying to assess their risk 
>> for this CVE.
> 
> Their risk is probably very low. Their risk of a bunch of other "important" 
> items included in later releases is probably much higher.
> 
> What's going on at this client that they are rapidly approaching an 8-month 
> delay in issuing this security patch?
> 
>> They are behind a reverse-proxy. Even though the description on 
>> Tomcat's security page states that the risk is low it doesn't describe 
>> how would a reverse-proxy mishandle the Transfer-Encoding in order to 
>> compromise the backend Tomcat server.
> It's a fairly small window of opportunity. Basically, several bugs in both 
> the reverse proxy /and/ Tomcat would have to both be present in order to 
> thread the needle.
> 
>> Any information about this exploit would be appreciated. (I did try to 
>> read the commit but it is rather large so it would require more time 
>> to unroll the fix for me than getting a direct answer)...
> Nobody from the Security Team is going to explain how to exploit this or test 
> to see if you are vulnerable. Sorry. :(
> 
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/
> 
> iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl8bVSUACgkQHPApP6U8
> pFjXJg//Zto3QQN0sdPgl/JNCFwJTMdzQg1+OzwebLLa+epRmdkZ5HpUBTGpB5Uh
> JHRHu/U1CnFUaCOUNYCix5TaqyKErODhouJlGG7uII68EqMb+xSB0qMRvr16tqrp
> l32wv6PE/ehSN/1VTpWwOvctEifYAuK8CFEs4U6iOfKhPKNew/ynv2DeErD0rS9n
> d8IQLGK255CWx3CiYDUT+eGCgJ1eVSVed0jZU00iADoivCK4MAWO3b6Cn66QFHLq
> Qe0Siq0ZuY3BvWYOvHybtaDJiEEgLar6v/15ueslsh7q20m+SyOi+5HEikTSlUhU
> Ws5PREOAJuGVk2HT9NL2OgSRtcT/zAi7WPkGaa20wOugoTB/bcPOjoT37BxpPpsB
> YffsGVPiTEwlLX29jY09X/JfgyI0HWIkZVUrvIxuAdVqRyfbz4PNqSvz45HUS66X
> fWnfAYPw3l6pDPWtdu0Hqc/oQtuDOyfzVLsEjgx3cCxnTY5honEVpL6Gt+P9AQQY
> tlBdtEpynrvmiF2aE+dxu2GbdtjoDaHouE5eqBuA1VCFiLmMb5HHey1N6j/yLZke
> ffc6IQToyCdeubgf+qGP3wC5eYUOVmy3LCZEPU/LzbckW0xF28GPCKmwZ4FyKr1W
> EKMtKr25ibHJDp60DhbCD8eqGFHfWC5JGNjS0Gqkr798kf4qghU=
> =dU//
> -----END PGP SIGNATURE-----
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to