Small window of access to kvmhost with l3 driver and floating ips
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Mingyan Bao |
Bug Description
We noticed that when floating IP addresses were being assigned to instances, the L3 driver binds the IP to the kvmhost’s public interface first, and then setup the NAT rules. This gives a window of opportunity for traffic for floating IP to go to the kvmhost instead of the instance. I traced the issue to nova/network/l3.py, add_floating_ip method:
Original:
def add_floating_
Modified:
def add_floating_
I think setting up the NAT rules first then binding the IP should be okay. I tested and it seems to work.
Changed in nova: | |
assignee: | nobody → Mingyan Bao (bao-mingyan) |
status: | Triaged → In Progress |
Changed in nova: | |
milestone: | none → grizzly-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-3 → 2013.1 |
makes sense to do them in the reverse order. I would probably be ok making this bug public since it the window is incredibly small and there is only an exploit if there is a vulnerable service running on the host