Logo
componentfrr
Name
frr
Version
8.2.2
Type
library
Description
BGP/OSPF/RIP routing daemon
Licenses
GPL-2.0-only & LGPL-2.1-only
PURL
-
CPE
cpe:2.3:*:frrouting:frrouting:8.2.2:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
master
10.6.1
scarthgap
9.1.3

Patches#


#
Title
Author
Resolve
1
ospfd: Solved crash in OSPF TE parsing
Olivier Dugeon <olivier.dugeon@orange.com>
CVE-2024-27913
2
tools: remove backslash from declare check regex
Marius Tomaschewski <mt@suse.com>
CVE-2022-42917
3
bgpd: avoid notify race between io and main pthreads
Mark Stapp <mstapp@nvidia.com>
CVE-2022-37035
4
bgpd: Ensure FRR has enough data to read 2 bytes in
Donald Sharp <sharpd@nvidia.com>
CVE-2022-36440
CVE-2022-40302
5
bgpd: Fix error handling when receiving BGP Prefix SID
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2024-31948
6
bgpd: Ignore handling NLRIs if we received
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-47234
7
bgpd: Ensure stream received has enough data
Donald Sharp <sharpd@nvidia.com>
CVE-2023-31490
8
bgpd: Validate only affected RPKI prefixes instead of a full
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2024-55553
9
bgpd: Ensure that bgp open message stream has enough data to
Donald Sharp <sharpd@nvidia.com>
CVE-2022-43681
10
bgpd: Treat EOR as withdrawn to avoid unwanted handling
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-47235
11
bgpd: Limit flowspec to no attribute means a implicit
Donald Sharp <sharpd@nvidia.com>
CVE-2023-41909
12
bgpd: Use treat-as-withdraw for tunnel encapsulation
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-38802
13
bgpd: Ensure FRR has enough data to read 2 bytes in
Donald Sharp <sharpd@nvidia.com>
CVE-2022-40318
14
bgpd: Handle MP_REACH_NLRI malformed packets with session
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-46752
15
ospfd: protect call to get_edge() in ospf_te.c
Olivier Dugeon <olivier.dugeon@orange.com>
CVE-2024-34088
16
bgpd: Flowspec overflow issue
Donald Sharp <sharpd@nvidia.com>
CVE-2023-38406
17
bgpd: Fix use beyond end of stream of labeled unicast
Donald Sharp <sharpd@nvidia.com>
CVE-2023-38407
18
bgpd: Fix errors handling for MP/GR capabilities as dynamic
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2024-31949
19
bgpd: Make sure hdr length is at a minimum of what is
Donald Sharp <sharpd@nvidia.com>
CVE-2022-37032
20
ospfd: Solved crash in RI parsing with OSPF TE
Olivier Dugeon <olivier.dugeon@orange.com>
CVE-2024-31950
21
bgpd: Check mandatory attributes more carefully for
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-46753
22
bgpd: Do not process NLRIs if the attribute length is
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2023-41358
23
bgpd: Check the actual remaining stream length before taking
Donatas Abraitis <donatas@opensourcerouting.org>
CVE-2024-44070
24
bgpd: Check 7 bytes for Long-lived Graceful-Restart
Narpat Mali <narpat.mali@windriver.com>
CVE-2023-31489
25
ospfd: Correct Opaque LSA Extended parser
Olivier Dugeon <olivier.dugeon@orange.com>
CVE-2024-31951

Vulnerabilities#


Name
Analysis
Description
Exploitable
FRRouting before 10.5.3 contains an integer overflow vulnerability in seven OSPF Traffic Engineering and Segment Routing TLV parser functions where a uint16_t accumulator variable truncates uint32_t values returned by the TLV_SIZE() macro, causing the loop termination condition to fail while pointer advancement continues unchecked. Attackers with an established OSPF adjacency can send a crafted LS Update packet with a malicious Type 10 or Type 11 Opaque LSA to trigger out-of-bounds memory reads and crash all affected routers in the OSPF area or autonomous system.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_ext_pref_pref_sid function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted LSA Update packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_ext_pref_pref_sid function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_link_info function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_unknown_tlv function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_ext_link_lan_adj_sid function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_ext_link_adj_sid function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v4.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the show_vty_ext_link_rmt_itf_addr function at ospf_ext.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted OSPF packet.
Exploitable
FRRouting/frr from v2.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the ospf_opaque_lsa_dump function at ospf_opaque.c. This vulnerability allows attackers to cause a Denial of Service (DoS) under specific malformed LSA conditions.
Exploitable
FRRouting/frr from v2.0 through v10.4.1 was discovered to contain a NULL pointer dereference via the opaque_info_detail function at ospf_opaque.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted LS Update packet.
Patched
In FRRouting (FRR) before 10.3 from 6.0 onward, all routes are re-validated if the total size of an update received via RTR exceeds the internal socket's buffer size, default 4K on most OSes. An attacker can use this to trigger re-parsing of the RIB for FRR routers using RTR by causing more than this number of updates during an update interval (usually 30 minutes). Additionally, this effect regularly occurs organically. Furthermore, an attacker can use this to trigger route validation continuously. Given that routers with large full tables may need more than 30 minutes to fully re-validate the table, continuous issuance/withdrawal of large numbers of ROA may be used to impact the route handling performance of all FRR instances using RPKI globally. Additionally, the re-validation will cause heightened BMP traffic to ingestors. Fixed Versions: 10.0.3, 10.1.2, 10.2.1, >= 10.3.
Patched
An issue was discovered in FRRouting (FRR) through 10.1. bgp_attr_encap in bgpd/bgp_attr.c does not check the actual remaining stream length before taking the TLV value.
Patched
In FRRouting (FRR) through 9.1, it is possible for the get_edge() function in ospf_te.c in the OSPF daemon to return a NULL pointer. In cases where calling functions do not handle the returned NULL value, the OSPF daemon crashes, leading to denial of service.
Patched
In the Opaque LSA Extended Link parser in FRRouting (FRR) through 9.1, there can be a buffer overflow and daemon crash in ospf_te_parse_ext_link for OSPF LSA packets during an attempt to read Segment Routing Adjacency SID subTLVs (lengths are not validated).
Patched
In FRRouting (FRR) through 9.1, there can be a buffer overflow and daemon crash in ospf_te_parse_ri for OSPF LSA packets during an attempt to read Segment Routing subTLVs (their size is not validated).
Patched
In FRRouting (FRR) through 9.1, an infinite loop can occur when receiving a MP/GR capability as a dynamic capability because malformed data results in a pointer not advancing.
Patched
In FRRouting (FRR) through 9.1, an attacker using a malformed Prefix SID attribute in a BGP UPDATE packet can cause the bgpd daemon to crash.
Patched
ospf_te_parse_te in ospfd/ospf_te.c in FRRouting (FRR) through 9.1 allows remote attackers to cause a denial of service (ospfd daemon crash) via a malformed OSPF LSA packet, because of an attempted access to a missing attribute field.
Patched
An issue was discovered in FRRouting FRR through 9.0.1. A crash can occur when a malformed BGP UPDATE message with an EOR is processed, because the presence of EOR does not lead to a treat-as-withdraw outcome.
Patched
An issue was discovered in FRRouting FRR through 9.0.1. A crash can occur when processing a crafted BGP UPDATE message with a MP_UNREACH_NLRI attribute and additional NLRI data (that lacks mandatory path attributes).
Patched
An issue was discovered in FRRouting FRR through 9.0.1. A crash can occur for a crafted BGP UPDATE message without mandatory attributes, e.g., one with only an unknown transit attribute.
Patched
An issue was discovered in FRRouting FRR through 9.0.1. It mishandles malformed MP_REACH_NLRI data, leading to a crash.
Patched
An issue was discovered in FRRouting FRR through 9.0. bgp_nlri_parse_flowspec in bgpd/bgp_flowspec.c processes malformed requests with no attributes, leading to a NULL pointer dereference.
Patched
An issue was discovered in FRRouting FRR through 9.0. bgpd/bgp_packet.c processes NLRIs if the attribute length is zero.
Patched
FRRouting FRR 7.5.1 through 9.0 and Pica8 PICOS 4.3.3.2 allow a remote attacker to cause a denial of service via a crafted BGP update with a corrupted attribute 23 (Tunnel Encapsulation).
Patched
bgpd/bgp_label.c in FRRouting (FRR) before 8.5 attempts to read beyond the end of the stream during labeled unicast parsing.
Patched
bgpd/bgp_flowspec.c in FRRouting (FRR) before 8.4.3 mishandles an nlri length of zero, aka a "flowspec overflow."
Patched
An issue found in Frrouting bgpd v.8.4.2 allows a remote attacker to cause a denial of service via the bgp_attr_psid_sub() function.
Patched
An issue found in Frrouting bgpd v.8.4.2 allows a remote attacker to cause a denial of service via the bgp_capability_llgr() function.
Patched
An out-of-bounds read exists in the BGP daemon of FRRouting FRR through 8.4. When sending a malformed BGP OPEN message that ends with the option length octet (or the option length word, in case of an extended OPEN message), the FRR code reads of out of the bounds of the packet, throwing a SIGABRT signal and exiting. This results in a bgpd daemon restart, causing a Denial-of-Service condition.
Patched
-
Patched
An issue was discovered in bgpd in FRRouting (FRR) through 8.4. By crafting a BGP OPEN message with an option of type 0xff (Extended Length from RFC 9072), attackers may cause a denial of service (assertion failure and daemon restart, or out-of-bounds read). This is possible because of inconsistent boundary checks that do not account for reading 3 bytes (instead of 2) in this 0xff case. NOTE: this behavior occurs in bgp_open_option_parse in the bgp_open.c file, a different location (with a different attack vector) relative to CVE-2022-40302.
Patched
An issue was discovered in bgpd in FRRouting (FRR) through 8.4. By crafting a BGP OPEN message with an option of type 0xff (Extended Length from RFC 9072), attackers may cause a denial of service (assertion failure and daemon restart, or out-of-bounds read). This is possible because of inconsistent boundary checks that do not account for reading 3 bytes (instead of 2) in this 0xff case.
Patched
An issue was discovered in bgpd in FRRouting (FRR) 8.3. In bgp_notify_send_with_data() and bgp_process_packet() in bgp_packet.c, there is a possible use-after-free due to a race condition. This could lead to Remote Code Execution or Information Disclosure by sending crafted BGP packets. User interaction is not needed for exploitation.
Patched
An out-of-bounds read in the BGP daemon of FRRouting FRR before 8.4 may lead to a segmentation fault and denial of service. This occurs in bgp_capability_msg_parse in bgpd/bgp_packet.c.
Patched
A reachable assertion was found in Frrouting frr-bgpd 8.3.0 in the peek_for_as4_capability function. Attackers can maliciously construct BGP open packets and send them to BGP peers running frr-bgpd, resulting in DoS.