Suricata up to 4.0 HTTP Detection detect.c/stream-tcp.c TCP Packets protection mechanism

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
6.0$0-$5k0.00

Summaryinfo

A vulnerability marked as critical has been reported in Suricata up to 4.0. The affected element is an unknown function of the file detect.c/stream-tcp.c of the component HTTP Detection. This manipulation as part of TCP Packets causes protection mechanism. This vulnerability is handled as CVE-2018-6794. The attack can be initiated remotely. Additionally, an exploit exists. It is suggested to upgrade the affected component.

Detailsinfo

A vulnerability was found in Suricata up to 4.0. It has been declared as critical. Affected by this vulnerability is an unknown code of the file detect.c/stream-tcp.c of the component HTTP Detection. The manipulation as part of a TCP Packets leads to a protection mechanism vulnerability. The CWE definition for the vulnerability is CWE-693. The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:

Suricata before 4.1 is prone to an HTTP detection bypass vulnerability in detect.c and stream-tcp.c. If a malicious server breaks a normal TCP flow and sends data before the 3-way handshake is complete, then the data sent by the malicious server will be accepted by web clients such as a web browser or Linux CLI utilities, but ignored by Suricata IDS signatures. This mostly affects IDS signatures for the HTTP protocol and TCP stream content; signatures for TCP packets will inspect such network traffic as usual.

The bug was discovered 01/24/2018. The weakness was released 02/07/2018 (GitHub Repository). The advisory is shared at github.com. The advisory contains:

This attack possibly may impact other network monitoring or intrusion detection systems because is not limited to Suricata IDS: an old Snort IDS version 2.9.4 is also affected.
This vulnerability is known as CVE-2018-6794 since 02/06/2018. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details and also a public exploit are known. The advisory points out:
If as a server side you break a normal TCP 3 way handshake packets order and inject some response data before 3whs is complete then data still will be received by the a client but some IDS engines may skip content checks on that.

A public exploit has been developed by Positive Technologies and been published 4 weeks after the advisory. It is possible to download the exploit at exploit-db.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 14 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 106992 (Fedora 27 : suricata (2018-ee417c4b28)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 176778 (Debian Security Update for suricata (DLA 1603-1)). The code used by the exploit is:

Client  ->  [SYN] [Seq=0 Ack= 0]        ->  Evil Server
Client  <-  [SYN, ACK] [Seq=0 Ack= 1]   <-  Evil Server
Client  <-  [PSH, ACK] [Seq=1 Ack= 1]   <-  Evil Server  # Injection before the 3whs is completed
Client  <-  [FIN, ACK] [Seq=83 Ack= 1]  <-  Evil Server
Client  ->  [ACK] [Seq=1 Ack= 84]       ->  Evil Server
Client  ->  [PSH, ACK] [Seq=1 Ack= 84]  ->  Evil Server
The advisory illustrates:
Successful exploitation leads to a complete TCP-Stream response or HTTP response signatures bypass and may be used to prevent malicious payloads from network detection.

Upgrading to version 4.0.4 or 4.1 eliminates this vulnerability. A possible mitigation has been published 1 weeks after the disclosure of the vulnerability.

The vulnerability is also documented in the databases at Exploit-DB (44247), Tenable (106992) and SecurityFocus (BID 97047†). Entries connected to this vulnerability are available at VDB-98270 and VDB-108571. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Productinfo

Name

Version

License

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 6.3
VulDB Meta Temp Score: 5.9

VulDB Base Score: 7.3
VulDB Temp Score: 6.6
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 5.3
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Protection mechanism
CWE: CWE-693
CAPEC: 🔍
ATT&CK: 🔍

Physical: No
Local: No
Remote: Yes

Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Positive Technologies
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 106992
Nessus Name: Fedora 27 : suricata (2018-ee417c4b28)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍

OpenVAS ID: 54694
OpenVAS Name: Fedora Update for suricata FEDORA-2018-ee417c4b28
OpenVAS File: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Exploit-DB: 🔍

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍

Upgrade: Suricata 4.0.4/4.1
Patch: github.com

Timelineinfo

03/18/2017 🔍
01/24/2018 +312 days 🔍
02/06/2018 +13 days 🔍
02/07/2018 +1 days 🔍
02/07/2018 +0 days 🔍
02/07/2018 +0 days 🔍
02/14/2018 +7 days 🔍
02/26/2018 +12 days 🔍
03/05/2018 +7 days 🔍
03/05/2018 +0 days 🔍
01/01/2025 +2494 days 🔍

Sourcesinfo

Advisory: FEDORA-2018-ee417c4b28
Status: Confirmed
Confirmation: 🔍

CVE: CVE-2018-6794 (🔍)
GCVE (CVE): GCVE-0-2018-6794
GCVE (VulDB): GCVE-100-112921
SecurityFocus: 97047 - Suricata CVE-2017-7177 Security Bypass Vulnerability

scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍

Entryinfo

Created: 02/07/2018 08:36
Updated: 01/01/2025 15:08
Changes: 02/07/2018 08:36 (90), 01/14/2020 19:59 (4), 02/03/2023 18:15 (5), 02/03/2023 18:21 (1), 02/03/2023 18:29 (1), 01/01/2025 15:08 (14)
Complete: 🔍
Cache ID: 216::103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!