search menu icon-carat-right cmu-wordmark

CERT Coordination Center

Sourcefire Snort DCE/RPC preprocessor does not properly reassemble fragmented packets

Vulnerability Note VU#196240

Original Release Date: 2007-02-19 | Last Revised: 2008-01-30

Overview

A vulnerability in the Sourcefire Snort DCE/RPC preprocessor may allow a remote, unauthenticated attacker to execute arbitrary code.

Description

Sourcefire Snort is a widely-deployed, open-source network intrusion detection system (IDS). Snort and its components are used in other IDS products, notably Sourcefire, and Snort is included with a number of operating system distributions.

Snort preprocessors are modular plugins that extend functionality by operating on packets before the detection engine is run. The DCE/RPC preprocessor reassembles fragmented SMB and DCE/RPC packets so that Snort rules operate on a complete packet. The preprocessor does not properly reassemble SMB Write AndX commands, creating a stack buffer overflow vulnerability.

The DCE/RPC preprocessor is enabled by default and dynamically detects SMB traffic. An attacker does not have to complete a full TCP connection to exploit this vulnerability. According to ISS:
This vulnerability is in a dynamic-preprocessor enabled in the default configuration, and the configuration for this preprocessor allows for auto-recognition of SMB traffic to perform reassembly on. No checks are performed to see if the traffic is part of a valid TCP session, and multiple Write AndX requests can be chained in the same TCP segment. As a result, an attacker can exploit this overflow with a single TCP PDU sent across a network monitored by Snort or Sourcefire.
Note that this issue affects the following systems:

    • Snort 2.6.1, 2.6.1.1, and 2.6.1.2
    • Snort 2.7.0 beta 1
    • Sourcefire Intrusion Sensors versions 4.1.x, 4.5.x, and 4.6.x with SEUs prior to SEU 64
    • Sourcefire Intrusion Sensor Software for Crossbeam versions 4.1.x, 4.5.x and 4.6.x with SEUs prior to SEU 64
Exploit code for this vulnerability is publicly available.



This vulnerability occurred as a result of violating rule ARR33-C of the CERT Secure Coding Standard.

Impact

A remote, unauthenticated attacker may be able to execute arbitrary code with the privilege level of the Snort preprocessor. In most cases this would allow an attacker to compromise the system running Snort.

Solution

Upgrade
Sourcefire has released Snort 2.6.1.3 which is available from the Snort download site. See Snort document 2007-02-19 for more details. Sourcefire customers should see Sourcefire Support Login for more details on updates.

Disable the preprocessor


Disable the DCE/RPC preprocessor (dcerpc) by removing the DCE/RPC preprocessor directives from the configuration file (often /etc/snort.conf or user.conf). Note that disabling this preprocessor may allow fragmented attacks to evade the Snort sensor. See Sourcefire Advisory 2007-02-19 for more details.

Vendor Information

196240
 

View all 85 vendors View less vendors


CVSS Metrics

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A

References

Acknowledgements

This vulnerability was reported and researched by Neel Mehta from IBM ISS X-Force.

This document was written by Chris Taschner and Art Manion.

Other Information

CVE IDs: CVE-2006-5276
Severity Metric: 23.63
Date Public: 2007-02-19
Date First Published: 2007-02-19
Date Last Updated: 2008-01-30 20:45 UTC
Document Revision: 44

Sponsored by CISA.