An Improper Locking vulnerability in the GTP plugin of Juniper Networks Junos OS on SRX Series allows an unauthenticated, network-based attacker to cause a Denial-of-Service (Dos).
If an SRX Series device receives a specifically malformed GPRS Tunnelling Protocol (GTP) Modify Bearer Request message, a lock is acquired and never released. This results in other threads not being able to acquire a lock themselves, causing a watchdog timeout leading to FPC crash and restart. This issue leads to a complete traffic outage until the device has automatically recovered.
This issue affects Junos OS on SRX Series:
The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Junos | Juniper | * | 22.4 (excluding) |
| Junos | Juniper | 22.4 (including) | 22.4 (including) |
| Junos | Juniper | 22.4-r1 (including) | 22.4-r1 (including) |
| Junos | Juniper | 22.4-r1-s1 (including) | 22.4-r1-s1 (including) |
| Junos | Juniper | 22.4-r1-s2 (including) | 22.4-r1-s2 (including) |
| Junos | Juniper | 22.4-r2 (including) | 22.4-r2 (including) |
| Junos | Juniper | 22.4-r2-s1 (including) | 22.4-r2-s1 (including) |
| Junos | Juniper | 22.4-r2-s2 (including) | 22.4-r2-s2 (including) |
| Junos | Juniper | 22.4-r3 (including) | 22.4-r3 (including) |
| Junos | Juniper | 22.4-r3-s1 (including) | 22.4-r3-s1 (including) |
| Junos | Juniper | 22.4-r3-s2 (including) | 22.4-r3-s2 (including) |
| Junos | Juniper | 22.4-r3-s3 (including) | 22.4-r3-s3 (including) |
| Junos | Juniper | 22.4-r3-s4 (including) | 22.4-r3-s4 (including) |
| Junos | Juniper | 22.4-r3-s5 (including) | 22.4-r3-s5 (including) |
| Junos | Juniper | 22.4-r3-s6 (including) | 22.4-r3-s6 (including) |
| Junos | Juniper | 22.4-r3-s7 (including) | 22.4-r3-s7 (including) |
| Junos | Juniper | 23.2 (including) | 23.2 (including) |
| Junos | Juniper | 23.2-r1 (including) | 23.2-r1 (including) |
| Junos | Juniper | 23.2-r1-s1 (including) | 23.2-r1-s1 (including) |
| Junos | Juniper | 23.2-r1-s2 (including) | 23.2-r1-s2 (including) |
| Junos | Juniper | 23.2-r2 (including) | 23.2-r2 (including) |
| Junos | Juniper | 23.2-r2-s1 (including) | 23.2-r2-s1 (including) |
| Junos | Juniper | 23.2-r2-s2 (including) | 23.2-r2-s2 (including) |
| Junos | Juniper | 23.2-r2-s3 (including) | 23.2-r2-s3 (including) |
| Junos | Juniper | 23.2-r2-s4 (including) | 23.2-r2-s4 (including) |
| Junos | Juniper | 23.4 (including) | 23.4 (including) |
| Junos | Juniper | 23.4-r1 (including) | 23.4-r1 (including) |
| Junos | Juniper | 23.4-r1-s1 (including) | 23.4-r1-s1 (including) |
| Junos | Juniper | 23.4-r1-s2 (including) | 23.4-r1-s2 (including) |
| Junos | Juniper | 23.4-r2 (including) | 23.4-r2 (including) |
| Junos | Juniper | 23.4-r2-s1 (including) | 23.4-r2-s1 (including) |
| Junos | Juniper | 23.4-r2-s2 (including) | 23.4-r2-s2 (including) |
| Junos | Juniper | 23.4-r2-s3 (including) | 23.4-r2-s3 (including) |
| Junos | Juniper | 23.4-r2-s4 (including) | 23.4-r2-s4 (including) |
| Junos | Juniper | 23.4-r2-s5 (including) | 23.4-r2-s5 (including) |
| Junos | Juniper | 24.2 (including) | 24.2 (including) |
| Junos | Juniper | 24.2-r1 (including) | 24.2-r1 (including) |
| Junos | Juniper | 24.2-r1-s1 (including) | 24.2-r1-s1 (including) |
| Junos | Juniper | 24.2-r1-s2 (including) | 24.2-r1-s2 (including) |
| Junos | Juniper | 24.2-r2 (including) | 24.2-r2 (including) |
| Junos | Juniper | 24.2-r2-s1 (including) | 24.2-r2-s1 (including) |
| Junos | Juniper | 24.2-r2-s2 (including) | 24.2-r2-s2 (including) |
| Junos | Juniper | 24.4 (including) | 24.4 (including) |
| Junos | Juniper | 24.4-r1 (including) | 24.4-r1 (including) |
| Junos | Juniper | 24.4-r1-s2 (including) | 24.4-r1-s2 (including) |
| Junos | Juniper | 24.4-r1-s3 (including) | 24.4-r1-s3 (including) |
| Junos | Juniper | 24.4-r2 (including) | 24.4-r2 (including) |
| Junos | Juniper | 24.4-r2-s1 (including) | 24.4-r2-s1 (including) |
| Junos | Juniper | 25.2 (including) | 25.2 (including) |
| Junos | Juniper | 25.2-r1 (including) | 25.2-r1 (including) |
| Junos | Juniper | 25.2-r2 (including) | 25.2-r2 (including) |
Locking is a type of synchronization behavior that ensures that multiple independently-operating processes or threads do not interfere with each other when accessing the same resource. All processes/threads are expected to follow the same steps for locking. If these steps are not followed precisely - or if no locking is done at all - then another process/thread could modify the shared resource in a way that is not visible or predictable to the original process. This can lead to data or memory corruption, denial of service, etc.