mirror_frr/ospfd
Olivier Dugeon 4b753fd134 ospfd: protect call to get_edge() in ospf_te.c
During fuzzing, Iggy Frankovic discovered that get_edge() function in ospf_te.c
could return null pointer, in particular when the link_id or advertised router
IP addresses are fuzzed. As the null pointer returned by get_edge() function is
not handlei by calling functions, this could cause ospfd crash.

This patch introduces new verification of returned pointer by get_edge()
function and stop the processing in case of null pointer. In addition, link ID
and advertiser router ID are validated before calling ls_find_edge_by_key() to
avoid the creation of a new edge with an invalid key.

CVE-2024-34088

Co-authored-by: Iggy Frankovic <iggyfran@amazon.com>
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
(cherry picked from commit 8c177d69e3)
2024-05-24 19:32:19 +00:00
..
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
ChangeLog.opaque.txt Initial revision 2003-02-03 16:31:16 +00:00
Makefile build: non-recursive ospf* 2017-08-04 11:09:50 +02:00
ospf_abr.c ospfd: opsf_abr.c memory leak fix, free range 2023-05-10 10:59:20 +04:00
ospf_abr.h ospfd: add support for NSSA Type-7 address ranges 2023-03-31 19:28:15 -03:00
ospf_api.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_api.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_apiserver.c ospfd: OSPF opaque LSA stale processing fix and topotests. 2023-05-09 16:51:03 -04:00
ospf_apiserver.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
ospf_asbr.c ospfd: Fix External Aggregator Leak 2023-09-05 23:00:13 +04:00
ospf_asbr.h ospfd: fix default-metric change if external LSAs already sent 2023-07-19 13:12:40 +00:00
ospf_ase.c ospfd: add support for unplanned graceful restart 2023-05-08 21:47:44 -03:00
ospf_ase.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_auth.c ospfd: a possible fix for TAINTED_SCALAR coverity issues 2023-10-03 10:13:03 +03:30
ospf_auth.h [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_bfd.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_bfd.h *: Convert struct event_master to struct event_loop 2023-03-24 08:32:17 -04:00
ospf_dump_api.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_dump_api.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_dump.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_dump.h *: Fixup formatting issues due to reordering 2023-03-24 08:37:21 -04:00
ospf_errors.c [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_errors.h [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_ext.c ospfd: Correct SID check size 2023-12-11 12:08:24 +00:00
ospf_ext.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_flood.c Merge pull request #13691 from LabNConsulting/aceelindem/ospf-opaque-interface-disable 2023-07-11 11:47:32 -04:00
ospf_flood.h Merge pull request #12366 from manojvn/ospfv2-flood-reduction 2023-02-21 08:03:06 -05:00
ospf_gr_helper.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_gr.c ospfd: Configurable interface-level 'capability opaque' support 2023-06-28 13:03:48 -04:00
ospf_gr.h ospfd, ospf6d: fix time_t truncation 2023-05-30 19:47:28 -03:00
ospf_ia.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_ia.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_interface.c vtysh: Show ip ospf network ... even if it's not the same as the interface type 2024-04-29 16:32:26 +03:00
ospf_interface.h vtysh: Show ip ospf network ... even if it's not the same as the interface type 2024-04-29 16:32:26 +03:00
ospf_ism.c ospfd, ospf6d: introduce the "graceful-restart hello-delay" command 2023-05-08 21:47:44 -03:00
ospf_ism.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_ldp_sync.c ospfd: check for NULLs in vty code 2023-06-30 13:58:16 -04:00
ospf_ldp_sync.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_lsa.c * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_lsa.h ospfd: implement Type-7 default routes for NSSA areas 2023-03-31 19:28:15 -03:00
ospf_lsdb.c Merge pull request #12366 from manojvn/ospfv2-flood-reduction 2023-02-21 08:03:06 -05:00
ospf_lsdb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_main.c [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_memory.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_memory.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_neighbor.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_neighbor.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
ospf_network.c ospfd: fix per-interface sockets 2023-07-03 09:37:25 -04:00
ospf_network.h ospfd: support write socket per interface 2023-04-11 10:16:07 -04:00
ospf_nsm.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_nsm.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_opaque.c ospfd: Configurable interface-level 'capability opaque' support 2023-06-28 13:03:48 -04:00
ospf_opaque.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_packet.c [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30
ospf_packet.h ospfd: add support for unplanned graceful restart 2023-05-08 21:47:44 -03:00
ospf_ri.c ospfd: add support for "no router-info [<area|as>] command" 2024-02-09 11:48:34 +00:00
ospf_ri.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_route.c Merge pull request #14034 from LabNConsulting/aceelindem/ospf_prefix_suppression 2023-07-21 10:14:22 +03:00
ospf_route.h ospfd: Support show intra-area network type in 'show ip ospf route' command 2023-07-18 14:20:05 +08:00
ospf_routemap_nb_config.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_routemap_nb.c *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_routemap_nb.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_routemap.c lib, ospfd, yang: add route map set for min/max metric 2023-04-18 00:48:16 -05:00
ospf_snmp.c Revert "ospfd: fix some dicey pointer arith in snmp module" 2024-04-24 11:26:46 +00:00
ospf_spf.c *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospf_spf.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_sr.c ospfd: can not delete "segment-routing node-msd" when SR if off 2024-02-09 10:35:45 +00:00
ospf_sr.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
ospf_te.c ospfd: protect call to get_edge() in ospf_te.c 2024-05-24 19:32:19 +00:00
ospf_te.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_ti_lfa.c ospfd: Delete q_space->vertex_list on No Backup Path 2023-08-19 18:38:14 +04:00
ospf_ti_lfa.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_vty.c Merge pull request #15953 from FRRouting/mergify/bp/stable/9.1/pr-15846 2024-05-08 14:47:34 +03:00
ospf_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_zebra.c *: remove ZEBRA_INTERFACE_VRF_UPDATE 2023-10-07 10:06:39 +08:00
ospf_zebra.h ospfd: implement Type-7 default routes for NSSA areas 2023-03-31 19:28:15 -03:00
OSPF-ALIGNMENT.txt *: Remove cvs control points 2017-12-05 17:28:12 -05:00
ospfd.c ospfd: Fixing infinite loop when listing OSPF interfaces 2023-10-11 14:28:56 +00:00
ospfd.h ospfd: fix default-metric change if external LSAs already sent 2023-07-19 13:12:40 +00:00
subdir.am [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30