The Juniper perimeter router must be configured to drop IPv6 packets containing a Hop-by-Hop or Destination Option extension header with an undefined option type.
Overview
| Finding ID | Version | Rule ID | IA Controls | Severity |
| V-233299 | JUNI-RT-000387 | SV-233299r855918_rule | CCI-002403 | medium |
| Description | ||||
| 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, and hence 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 Router RTR Security Technical Implementation Guide | 2024-12-05 | |||
Related Frameworks
1 mapping across 3 frameworks
Related Frameworks
SCF0 mappings
No source states a mapping between these directly.
Also reachable in 3 hops (2) derived by us, not asserted by any source
Each of these is a route we composed by chaining published mappings. No publisher states a relationship between the two endpoints.
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- SCF Secure Traceability Relationship Mapping (STRM)2026.2intersects
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- SCF Secure Traceability Relationship Mapping (STRM)2026.2intersects
NIST 800-530 mappings
No source states a mapping between these directly.
Also reachable in 2 hops (8) derived by us, not asserted by any source
Each of these is a route we composed by chaining published mappings. No publisher states a relationship between the two endpoints.
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)3our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)3intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R1our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R1intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R1our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V2R1intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R4our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V3R4intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2our copyintersects(normalised)
- DISA STIG Benchmark (XCCDF)V1R2intersects(normalised)
- DISA CCI List2025-01-23equal to(normalised)
CCI1 mapping
CCI-002403
1.00
- DISA STIG Benchmark (XCCDF)V3R2intersects(normalised)
Details
Check Text (C-233299r855918_chk)
This requirement is not applicable for the DODIN Backbone.
Review the router configuration and determine if filters are bound to the applicable interfaces to drop all inbound IPv6 packets containing an undefined option type value regardless of whether they appear in a Hop-by-Hop or Destination Option header. Undefined values are 0x02, 0x03, 0x06, 0x9 – 0xE, 0x10 – 0x22, 0x24, 0x25, 0x27 – 0x2F, and 0x31 – 0xFF.
The following example will block any inbound IPv6 packet containing either a Hop-by-Hop or Destination Option header:
family inet6 {
filter IPV6-INGRESS-FILTER {
term HOP_BY_HOP_HEADER {
from {
next-header hop-by-hop;
}
then {
syslog;
discard;
}
}
term DEST_ OPT_HEADER {
from {
next-header dstops;
}
then {
syslog;
discard;
}
}
term ALLOW_TCP_ESTABLISHED {
from {
next-header tcp;
tcp-established;
}
then accept;
}
term DENY_BY_DEFAULT {
then {
syslog;
discard;
}
}
}
}
}
Note: Currently JUNOS has no method to filter option type within either Hop-by-Hop or Destination Option header. Hence, all packets with a Hop-by-Hop or Destination Option headers must be dropped.
If the router is not configured to drop IPv6 packets containing a Hop-by-Hop or Destination Option extension header with an undefined option type, this is a finding.
Fix Text (F-36203r639661_fix)
Step 1: Configure a filter to block packets with either a Hop-by-Hop or Destination Option header as shown in the example.
user@R1# edit firewall family inet6
user@R1# edit filter IPV6-INGRESS-FILTER
user@R1# set term HOP_BY_HOP_HEADER from next-header hop-by-hop
user@R1# set term HOP_BY_HOP_HEADER then discard syslog
user@R1# set term DEST_ OPT_HEADER from next-header dstops
user@R1# set term DEST_ OPT_HEADER then discard syslog
user@R1# top
Step 2: Apply the filter inbound on all external IPv6-enabled interfaces.
user@R1# edit interfaces ge-0/0/0 unit 0 family inet6
user@R1# set filter input IPV6-INGRESS-FILTER
user@R1# commit