mirror_frr/ospfd
Olivier Dugeon 5557a289ac 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>
2024-05-23 10:46:10 +02: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: OSPFAPI Server options to limit to local connections and per-instance TCP 2024-04-25 16:20:50 +00:00
ospf_apiserver.h ospfd: OSPFAPI Server options to limit to local connections and per-instance TCP 2024-04-25 16:20:50 +00:00
ospf_asbr.c ospfd: Send update for route with new metric 2024-03-01 13:10:43 +01: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: Assure OSPF AS External routes are installed after link flap 2024-03-21 16:18:59 -04: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 ospfd: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00: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 Merge pull request #15824 from opensourcerouting/fix/ospf_show_non_default 2024-04-29 09:21:09 -04:00
ospf_interface.h Merge pull request #15824 from opensourcerouting/fix/ospf_show_non_default 2024-04-29 09:21:09 -04:00
ospf_ism.c ospfd: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00:00
ospf_ism.h * : include event ptr in event_execute api 2023-07-25 10:17:48 -04:00
ospf_ldp_sync.c ospfd: fix cli shown in running config when turning off ldp-sync 2024-02-13 10:20:11 -05: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 *: Modify agentx to be allowed to be called 2024-05-10 10:16:29 -04: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 ospfd: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00: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: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00: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 ospfd: Add prefix-list filtering of OSPF neighbors on OSPF interface 2024-04-18 15:32:58 +00:00
ospf_packet.h ospfd: add support for unplanned graceful restart 2023-05-08 21:47:44 -03:00
ospf_ri.c Merge pull request #15339 from opensourcerouting/fix/add_deprecation 2024-02-26 14:59:17 -05: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-23 11:36:14 +02: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: Fix compile warning with -Wformat-truncation 2024-04-13 22:41:43 +03: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-23 10:46:10 +02: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 #15846 from Shbinging/fix_ip_ospf_dead_interval_fast_hello 2024-05-07 09:58:29 -04:00
ospf_vty.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
ospf_zebra.c ospfd: Add prefix-list filtering of OSPF neighbors on OSPF interface 2024-04-18 15:32:58 +00: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: Implement non-broadcast support for point-to-multipoint networks 2024-04-02 21:34:29 +00: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