ha_vrrp_auth_type defaults to PASS which is insecure

Bug #1666959 reported by Adam Spiers
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Security Advisory
Won't Fix
Undecided
Unassigned
neutron
Won't Fix
Undecided
Unassigned

Bug Description

With l3_ha enabled, ha_vrrp_auth_type defaults to PASS authentication:

https://github.com/openstack/neutron/blob/b90ec94dc3f83f63bdb505ace1e4c272435c494b/neutron/conf/agent/l3/ha.py#L28

which according to http://louwrentius.com/configuring-attacking-and-securing-vrrp-on-linux.html is totally insecure because the VRRP password is transmitted in the clear.

I'm not sure if this is currently a serious issue, since if the VRRP network is untrusted, maybe there are already bigger problems. But I thought it was worth reporting, at least.

Revision history for this message
Jeremy Stanley (fungi) wrote :

Looks like this was introduced in https://review.openstack.org/70700 back in 2014.4 so affects all currently supported branches.

Changed in ossa:
status: New → Incomplete
Revision history for this message
Jeremy Stanley (fungi) wrote :

Since this report concerns a possible security risk, an incomplete security advisory task has been added while the core security reviewers for the affected project or projects confirm the bug and discuss the scope of any vulnerability along with potential solutions.

description: updated
Revision history for this message
Tristan Cacqueray (tristan-cacqueray) wrote :

It seems like the l3-high-availability spec define a dedicated ha network per tenant so that the keepalived traffic isn't visible from instance network. If so, then the authentication shouldn't really matter.

Revision history for this message
Adam Spiers (adam.spiers) wrote :

@Tristan Sure, it's not visible from the instance network, but it still requires you to trust the physical network on which the VRRP traffic resides. As I said in the original report, if the VRRP network is untrusted, there are probably already bigger problems to worry about, but presumably that does not make this problem go away; it just makes it less of a priority at the moment.

Revision history for this message
Kevin Benton (kevinbenton) wrote :

I don't think this is a security vulnerability. The tenant's HA network is not visible to anyone except for the operator so the risk here is that someone with access to the datacenter network itself could possibly hijack an L3 HA instance. But if they have that level of access they could do all sorts of other things (e.g. interfere with regular tenant network traffic directly rather than trying to interfere with L3HA leader election).

When the feature was originally introduced we probably should have just stuck with no authentication at all. I don't think having operators configure this provides much value since there is no clear threat that it mitigates.

If Neutron networks become accessible to other tenants, then that would be a big vulnerability in itself.

Revision history for this message
Adam Spiers (adam.spiers) wrote :

Thanks Kevin for confirming what I wrote in the original report and in comment #4, i.e. that if the VRRP network is untrusted, there are already bigger problems to worry about.

The fact that the option offers the *illusion* of security, without giving any extra security, is IMHO very mildly damaging to the operator (and increases maintenance overheads by a tiny amount too), so it might be worth considering dropping the option for PASS authentication.

Revision history for this message
Jeremy Stanley (fungi) wrote :

Thanks for digging into this. Looks like we can treat it as a public report of a potential security hardening opportunity (there are at least some in the community who would eventually like to see every service able to operate over untrusted backend/admin networks, but it should certainly not be an expectation as things stand today).

information type: Private Security → Public
Changed in ossa:
status: Incomplete → Won't Fix
tags: added: security
description: updated
Revision history for this message
Ihar Hrachyshka (ihar-hrachyshka) wrote :

If the config option is worthless, it's a mild usability issue, and we should drop it. Marking with the corresponding tag.

tags: added: usability
Changed in neutron:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.