Cisco IOS Firewall Feature Set fails to check IP protocol type thereby allowing packets to bypass dynamic access control lists
Vulnerability Note VU#362483
Original Release Date: 2001-11-28 | Last Revised: 2004-03-30
Overview
The Cisco IOS Firewall Feature Set (also known as Cisco Secure Integrated Software, or Context Based Access Control) may allow an intruder to pass traffic through the firewall in violation of implied security policies.
Description
It is important to note that only configurations that use the Context-Based Access Control (CBAC) feature of Cisco's IOS Firewall Feature Set are vulnerable.
Cisco describes the Cisco IOS Feature Set as
". . . a security-specific option for Cisco IOS software. It integrates robust firewall functionality and intrusion detection for every perimeter of the network and enriches existing Cisco IOS security capabilities. It adds greater depth and flexibility to existing Cisco IOS security solutions such as authentication, encryption, and failover by including state-of-the-art security features such as stateful, application-based filtering, dynamic per-user authentication and authorization, defense against network attacks, Java blocking, and real-time alerts. When combined with Cisco IOS IPSec software and other Cisco IOS software-based technologies like L2TP tunneling and Quality of Service (QoS), the Cisco IOS Firewall provides a complete, integrated virtual private network (VPN) solution."
CBAC filters TCP and UDP packets based on application-layer protocol session information. When a host inside the network initiates a data session with an external host, CBAC creates an access list entry so that return traffic from the external host is allowed to cross the firewall boundary. As the traffic crosses the firewall, the source and destination ports are checked. However, the IP protocol type is not.
Impact
Given a certain set of preconditions, an attacker can pass packets through the firewall. Specifically, an external attacker can only communicate with an internal host that has previously initiated an outbound connection, and can only communicate on the port the internal host allocated for that initial outbound connection. Given the ability to pass traffic across the protective boundary, an intruder may be able to reach hosts that would normally be protected behind the firewall boundary. If an intruder can gain control of a host inside the firewall, he may be able to use this vulnerability to tunnel arbitrary traffic across the firewall boundary. Finally, Cisco has indicated in their advisory that
"Depending on the exact session parameters, it may be possible to send data to processes that were supposed to be accessible only from within the trusted network."