mirror_frr/ospfd
Olivier Dugeon fcb339c4ea ospfd: Correct Opaque LSA Extended parser
Iggy Frankovic discovered another ospfd crash when performing fuzzing of OSPF
LSA packets. The crash occurs in ospf_te_parse_ext_link() function when
attemping to read Segment Routing Adjacency SID subTLVs. The original code
doesn't check if the size of the Extended Link TLVs and subTLVs have the correct
length. In presence of erronous LSA, this will cause a buffer overflow and ospfd
crashes.

This patch introduces new verification of the subTLVs size for Extended Link
TLVs and subTLVs. Similar check has been also introduced for the Extended
Prefix TLV.

Co-authored-by: Iggy Frankovic <iggyfran@amazon.com>
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
(cherry picked from commit 5557a289ac)
2024-05-24 19:32:18 +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 *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
ospf_apiserver.c ospfd: Fix opaque functab leak and opaque AS cleanup problems 2023-12-20 09:43:51 -05: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 *: remove sys/stat.h from zebra.h 2024-01-09 12:39:23 -05:00
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: Decode Extended Link & Prefix TLVs for json 2024-02-12 17:52:00 +01:00
ospf_ext.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_flood.c build: add -Wimplicit-fallthrough 2023-10-12 21:23:18 +03: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: fix GR state location 2024-01-27 19:02:52 +01: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:29:56 +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:29:56 +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 build: add -Wimplicit-fallthrough 2023-10-12 21:23:18 +03: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: fix GR state location 2024-01-27 19:02:52 +01:00
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 ospfd: Fix OSPF link-local opaque LSA crash and opaque memory corruption 2023-11-28 16:18:55 -05:00
ospf_nsm.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_opaque.c ospfd: Prepare Opaque LSA for json output 2024-02-12 17:52:00 +01:00
ospf_opaque.h ospfd: Fix OSPF link-local opaque LSA crash and opaque memory corruption 2023-11-28 16:18:55 -05:00
ospf_packet.c build: add -Wimplicit-fallthrough 2023-10-12 21:23:18 +03:00
ospf_packet.h ospfd: add support for unplanned graceful restart 2023-05-08 21:47:44 -03:00
ospf_ri.c ospfd: Decode Router Info. TLVs for json output 2024-02-12 17:52:00 +01: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:21 +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-08 21:56:08 +01:00
ospf_sr.h *: Rename struct thread to struct event 2023-03-24 08:32:17 -04:00
ospf_te.c ospfd: Correct Opaque LSA Extended parser 2024-05-24 19:32:18 +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 #15952 from FRRouting/mergify/bp/stable/10.0/pr-15846 2024-05-08 14:47:26 +03:00
ospf_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_zebra.c *: add zclient_options_sync 2023-11-23 15:20:13 +01: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: fix deferred shutdown handling 2023-12-01 08:53:30 -03:00
ospfd.h *: create a single registry of daemons' default port values 2024-02-01 11:40:02 -05:00
subdir.am [ospfd]: add support for RFC 5709 HMAC-SHA Auth 2023-09-16 07:38:23 +03:30