Closed achave11-ucsc closed 1 year ago
Spike to investigate if the mentioned CVEs affect OpenVPN and if so, which versions.
I'll be taking this spike.
All of the CVEs mentioned are different expressions of the TunnelCrack exploit. This exploit relies on the client to be joining a local network that is at least partially controlled by the attacker so that the attacker can spoof DNS responses or control the DHCP responses sent to the client. In essence, if the local network of the client is untrusted, the client can then be tricked into bypassing the tunnel, even for traffic that should be tunneled. In other words, the exploit tricks the client into splitting the tunnel.
From the paper it appears that Viscosity is vulnerable. It is unclear to me from reading the paper, if nmcli/openvpn on Ubuntu are vulnerable. At least some versions appear to be.
The exploit is valid and affects many VPNs. It requires the cooperation of the operating system network stack, DHCP and DNS clients. I feel that there is some work to do for the community to come up with an airtight mitigation. I expect some mitigations that are available now, such as the one made available by AWS (see the advisory quoted in the description), are in fact incomplete and are still vulnerable, just with a more complicated exploit.
Note that we are intentionally using split tunneling for our system so that only traffic to the remote network (the network at tunnel exit) is tunneled because anything else would be impractical. We frequently have multiple VPNs open at any time (to more than one deployment) and often transfer large amounts of data (docker images, for example) to and from the internet.
Because of the fact that we intentionally use split tunneling, we might be tempted to say that the exploit is irrelevant for us. However, I am not sure I feel comfortable with using our developer machine in untrusted local networks at all, regardless of whether a VPN is active or whether the split is intentional or not. We should update our policies to prohibit use of developer machines outside of trusted networks. Trusted networks should be defined as ones operated by UCSC or the developer themselves (their home network, connected to an ISP like Comcast).
@nolunwa-ucsc, would you be able to spearhead that policy update?
This is SC-7(7) to be specific.
@hannes-ucsc i agree with your suggestion. It is implied in the SSP but will be include this as a rule in the UCSC Data Browser ROB.
Nneka to also update PE-17 and SC-7(7)
updated the access agreement and notified @hannes-ucsc to review
I reviewed the document.