Security advisory
An issue was discovered in Suricata 4.1.3. The code mishandles the case of sending a network packet with the right type, such that the function DecodeEthernet in decode-ethernet.c is executed a second time. At this point, the algorithm cuts the first part of the packet and doesn't determine the current length. Specifically, if the packet is exactly 28 long, in the first iteration it subtracts 14 bytes. Then, it is working with a packet length of 14. At this point, the case distinction says it is a valid packet. After that it casts the packet, but this packet has no type, and the program crashes at the type case distinction.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2019-10056
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 04:18 UTC · Revision 1
Source evidence
An issue was discovered in Suricata 4.1.3. The code mishandles the case of sending a network packet with the right type, such that the function DecodeEthernet in decode-ethernet.c is executed a second time. At this point, the algorithm cuts the first part of the packet and doesn't determine the current length. Specifically, if the packet is exactly 28 long, in the first iteration it subtracts 14 bytes. Then, it is working with a packet length of 14. At this point, the case distinction says it is a valid packet. After that it casts the packet, but this packet has no type, and the program crashes at the type case distinction.
osv:CVE-2019-10056
Complete source record
{
"id": "a85b0c73f53ee07696240890808ef8656a92c29a622644cd1e19cf4463a4b97e",
"url": "https://osv.dev/vulnerability/CVE-2019-10056",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2019-10056",
"summary": "An issue was discovered in Suricata 4.1.3. The code mishandles the case of sending a network packet with the right type, such that the function DecodeEthernet in decode-ethernet.c is executed a second time. At this point, the algorithm cuts the first part of the packet and doesn't determine the current length. Specifically, if the packet is exactly 28 long, in the first iteration it subtracts 14 bytes. Then, it is working with a packet length of 14. At this point, the case distinction says it is a valid packet. After that it casts the packet, but this packet has no type, and the program crashes at the type case distinction.",
"evidence": "osv:CVE-2019-10056",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2019-10056",
"aliases": [
"CVE-2019-10056"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/oisf/suricata",
"type": "GIT",
"events": [
{
"introduced": "45f2fdc1a61f868fe3eaa3b17aeb6ddc6a28f518"
},
{
"last_affected": "14c2b6e445b3e8b5f802c4538397c12bfd3f831d"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:suricata-ids:suricata:4.1.3:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.1.3"
},
{
"last_affected": "4.1.3"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:suricata-ids:suricata:4.1.4:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.1.4"
},
{
"last_affected": "4.1.4"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"4.1.3",
"4.1.4",
"suricata-4.1.4",
"suricata-4.1.3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-10056.json"
}
}
],
"modified": "2026-10-24T10:30:16.834274208Z",
"provider": "osv",
"references": [
"https://suricata-ids.org/2019/04/30/suricata-4-1-4-released/",
"https://redmine.openinfosecfoundation.org/issues/2946"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2019-10056",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 429425,
"published_at": "2019-08-28T21:15:10.63+00:00"
}