DISA STIGS Viewer

The Juniper perimeter router must be configured to drop IPv6 packets containing a Destination Option header with invalid option type values.

Overview

Finding ID Version Rule ID IA Controls Severity
V-254056 JUEX-RT-000840 SV-254056r844201_rule   Medium
Description
These options are intended to be for the Hop-by-Hop header only. The optional and extensible natures of the IPv6 extension headers require higher scrutiny since many implementations do not always drop packets with headers that it cannot recognize. Hence, this could cause a denial-of-service on the target device. In addition, the type, length, value (TLV) formatting provides the ability for headers to be very large.
STIG Date
Juniper EX Series Switches Router Security Technical Implementation Guide 2024-06-10

Details

Check Text (C-57508r844199_chk)
This requirement is not applicable for the DODIN Backbone.

Review the router configuration and determine if filters are bound to the external interfaces to drop IPv6 packets containing a Destination Option header with option type values of 0x05 (Router Alert) or 0xC2 (Jumbo Payload).

[edit firewall family inet6]
filter <name> {
term 1 {
from {
next-header [ hop-by-hop dstopts ];
}
then {
log;
syslog;
discard;
}
}
<additional terms>
term default {
then {
log;
syslog;
discard;
}
}
}

Note: Juniper routers do not support configuring option types for Hop-by-Hop or Destination Options extension headers. Therefore, all packets with the Hop-by-Hop or Destination Options extension header are dropped.

Verify the filter is applied to applicable interfaces.
[edit interfaces]
<interface name> {
unit <number> {
family inet6 {
filter {
input <filter name>;
}
address <IPv6 address>.<prefix>;
}
}
}
Note: Some Juniper devices support both monolithic filters and filter lists. Filter lists separate each term, or set of terms, into a separate filter that is applied sequentially to an interface. If using filter lists, the keywords "input" or "output" change to "input-list" or "output-list". Verify the final list item is a deny-all filter. The deny-all filter is created once per family and can be reused across multiple lists. For example:

input-list [ permit_mgt permit_routing_protocols default-deny ];

If the router is not configured to drop IPv6 packets containing a Destination Option header with invalid option type values, this is a finding.
Fix Text (F-57459r844200_fix)
Configure the router to drop IPv6 packets containing a Destination Option header with option type values of 0x05 (Router Alert) or 0xC2 (Jumbo Payload).

set firewall family inet6 filter <name> term 1 from next-header hop-by-hop
set firewall family inet6 filter <name> term 1 from next-header dstopts
set firewall family inet6 filter <name> term 1 then log
set firewall family inet6 filter <name> term 1 then syslog
set firewall family inet6 filter <name> term 1 then discard
<additional terms>
set firewall family inet6 filter <name> term default then log
set firewall family inet6 filter <name> term default then syslog
set firewall family inet6 filter <name> term default then discard

set interfaces <interface name> unit <number> family inet6 filter input <filter name>
set interfaces <interface name> unit <number> family inet6 address <IPv6 address>.<prefix>