FreeBSD IPFW地址表查询防火墙规则 存在绕过漏洞
受影响系统:
FreeBSD FreeBSD 5.4-RELEASE
详细描述:
FreeBSD ipfw(8)系统工具允许IP报文过滤、重新定向和通讯计算。ipfw查询表允许有效的指定许多可以用于报文匹配的IP地址。
ipfw表查询代码缓存最后查询的结果。内核可以同时处理多个报文,执行多个并行的表查询。由于不充分的锁定,缓存的结果可能被破坏,导致将一些地址不正确的匹配到查询表。
如果同ipfw使用查询表的话,在很不常见的情况下报文可能错误的匹配查询表。这可能导致处理报文的方法与定义的报文过滤规则组相悖。例如,在应该丢弃报文的情况下却允许报文通过。
仅在对称多处理器(SMP)系统或启用了PREEMPTION kernel选项(非默认)的单处理器(UP)系统中才会出现这个漏洞。
补丁下载:
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-05:13)以及相应补丁:
FreeBSD-SA-05:13:ipfw packet matching errors with address tables
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:13.ipfw.asc
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:13/ipfw.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:13/ipfw.patch.asc