Description
A buffer over-read issue was discovered in Suricata 4.1.x before 4.1.4. If the input of the decode-mpls.c function DecodeMPLS is composed only of a packet of source address and destination address plus the correct type field and the right number for shim, an attacker can manipulate the control flow, such that the condition to leave the loop is true. After leaving the loop, the network packet has a length of 2 bytes. There is no validation of this length. Later on, the code tries to read at an empty position, leading to a crash.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | suricata | 1:4.1.4-1 | — |
| Debian 13 | suricata | 1:4.1.4-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | suricata | No fix yet | — |
| Ubuntu 16.04 LTS | suricata | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | suricata | 8.0.0-1.1 | openSUSE-SU-2025:15394-1 |
Advisories 1
- openSUSE-SU-2025:15394-1 libsuricata8_0_0-8.0.0-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026