drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Parth Chandra <par...@apache.org>
Subject Re: Drill SASL Forward Compatibility
Date Wed, 01 Nov 2017 20:42:14 GMT
I sort of lost track of the arguments in the thread. Is my understanding
below correct ?

1) A handshake from a (1.12) client expecting authentication and encryption
is intercepted by a rogue server. The server then responds with a success
message and bypasses the auth and encryption for the session.

2) The client is now connected, but not to the server it wanted to connect

3) The rogue server can now feed any bogus response to the client.

Question 1 - Is #3 a security issue?

Answer 1 (A) - Yes. The handshake has been compromised. The client is no
longer connected to an authentic server.

Answer 1 (B) - No. There is no data that has been compromised. Just a
client that has been misled.

I believe this is a security issue. A rogue server can now feed invalid
results to the client and that is not safe. Perhaps others with more
experience on industrial grade security can chime in.

Question 2 - If this is a security issue, is it severe enough to break
forward compatibility?

In general, I'm -1 on breaking backward compatibility and -0 on breaking
forward compatibility. I believe it is a very desirable goal to maintain
both backward and forward compatibility. However, forward compatibility
cannot be guaranteed unless we bake it into the RPC protocol and design
clients to be version and feature aware. This itself would be a breaking
change and should be one of the goals for V2.

In this case, I'm inclined to go with what Arina is suggesting.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message