FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
Ted
Staff
Staff
Article Id 402489
Description This article describes the issue for sending out an ICMP TTL exceeded packet to the source when the FortiGate VM has a deny policy for all and receives a packet with TTL=1.
Scope FortiGate.
Solution

Either FortiGate hardware appliance or FortiGate-VM should check the forwarding policies before replying with the ICMP TTL exceeded packet based on RFC 1812:

  • If allowed, the packet with TTL=1 is dropped, and an ICMP TTL exceeded packet will be sent to the source.
  • If denied, the packet with TTL=1 is dropped and no reply is sent out.

 

Example 1: 
As for the FortiGate, when a deny firewall policy for all is set and a packet with the TTL=1 is received, it does not respond to the source with 'icmp: time exceeded in-transit'.


root@ted:/home/ted/Desktop# traceroute -n -w 1 -m 20 -T -p 7999 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 20 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *


FortiGate-601E # diagnose sniffer packet any 'none' 4 0 l
interfaces=[any]
filters=[none]
2025-06-16 23:05:35.513460 port2 in 10.0.0.2.35729 -> 8.8.8.8.7999: syn 3444695382
2025-06-16 23:05:35.513935 port2 in 10.0.0.2.52325 -> 8.8.8.8.7999: syn 3413026689
2025-06-16 23:05:35.514087 port2 in 10.0.0.2.44621 -> 8.8.8.8.7999: syn 1978811126

 

Example 2: 
If a policy to allow all is set, the FortiGate responds to the source with 'icmp: time exceeded in-transit'.


root@ted:/home/ted/Desktop# traceroute -n -w 1 -m 20 -T -p 7999 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 20 hops max, 60 byte packets
1 10.0.0.253 1.252 ms 0.974 ms 0.779 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *


FortiGate-601E # diagnose sniffer packet any 'none' 4 0 l
interfaces=[any]
filters=[none]
2025-06-16 23:04:09.771317 port2 in 10.0.0.2.56717 -> 8.8.8.8.7999: syn 3723035076
2025-06-16 23:04:09.771558 port2 in 10.0.0.2.41577 -> 8.8.8.8.7999: syn 3779426166
2025-06-16 23:04:09.771701 port2 in 10.0.0.2.56759 -> 8.8.8.8.7999: syn 3762780160
2025-06-16 23:04:09.771803 port2 out 10.0.0.253 -> 10.0.0.2: icmp: time exceeded in-transit
2025-06-16 23:04:09.771804 port2 out 10.0.0.253 -> 10.0.0.2: icmp: time exceeded in-transit
2025-06-16 23:04:09.771805 port2 out 10.0.0.253 -> 10.0.0.2: icmp: time exceeded in-transit

 

Example 3: 
However, the FortiGate VM responds with an 'icmp: time exceeded in-transit' packet for the packet with TTL=1, despite the deny policy enabled for all.


root@ted:/home/ted/Desktop# traceroute -n -w 1 -m 20 -T -p 7999 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 20 hops max, 60 byte packets
1 10.0.1.253 0.750 ms 0.699 ms 0.681 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *


FortiGate-VM64 # diagnose sniffer packet any 'none' 4 0 l
Using Original Sniffing Mode
interfaces=[any]
filters=[none]
2025-06-17 19:31:38.990202 port1 in 10.0.1.11.33881 -> 8.8.8.8.7999: syn 4179144013
2025-06-17 19:31:38.990220 port1 in 10.0.1.11.44383 -> 8.8.8.8.7999: syn 2806653660
2025-06-17 19:31:38.990241 port1 in 10.0.1.11.33543 -> 8.8.8.8.7999: syn 2570957358
2025-06-17 19:31:38.990281 port1 out 10.0.1.253 -> 10.0.1.11: icmp: time exceeded in-transit
2025-06-17 19:31:38.990306 port1 out 10.0.1.253 -> 10.0.1.11: icmp: time exceeded in-transit
2025-06-17 19:31:38.990335 port1 out 10.0.1.253 -> 10.0.1.11: icmp: time exceeded in-transit

 

The issue that a FortiGate-VM sends out the ICMP TTL exceeded packet without checking firewall policies will be fixed in the following versions.

These timelines for firmware release are estimates and may be subject to change.

 

Contributors