Full Disclosure mailing list archives

firewall security bug?


From: Darren Reed <avalon () caligula anu edu au>
Date: Tue, 6 Jan 2004 00:59:26 +1100 (Australia/ACT)

So reading through the spam that comes my way, I find this an
interesting read:

[...]
8) States can be bound to the specific interface that created them or
to  a group of interfaces for example:

- pass all keep state (if-bound)
- pass all keep state (group-bound)
- pass all keep state (floating)


Could you elaborate on this change and its uses a little? Especially the 
"group-bound" thing?

Ok. "floating" is the default, and is what PF has been doing all the time.
That mean that if you've a rule like:

    pass in on fxp0 keep state

Once the state is created, PF will match that state with packets having
the same characteristics (source/dest IP, same port for UDP/TCP, ...)
coming in/out *any* interface. So, if a state is created for IKE traffic
coming in on one interface, then any IKE packet with spoofed IP will be
able to enter the firewall from any other interface, regardless of PF
rules on that interface.
[...]

Is it just me or does that actually say there is a really nasty
security bug in PF's state tracking code making it impossible to
keep out spoof'd packets that match a state session, up until
this feature being introduced ?  And even then, having introduced
a mechanism to address it, it continues to default to off...maybe
the risk or danger posed by this is considered to be "low" but
even still, it seems to me to be a pretty fundamental kind of flaw
that should not even exist in the first place, IMHO.

Doing a good ol' RTFS of 3.3 seems to confirm this but my analysis
just might be biased ;)

Darren

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.netsys.com/full-disclosure-charter.html


Current thread: