Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package frr for openSUSE:Factory checked in at 2022-09-07 11:05:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/frr (Old) and /work/SRC/openSUSE:Factory/.frr.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frr" Wed Sep 7 11:05:55 2022 rev:20 rq:1001516 version:8.1 Changes: -------- --- /work/SRC/openSUSE:Factory/frr/frr.changes 2022-03-21 20:11:54.296433027 +0100 +++ /work/SRC/openSUSE:Factory/.frr.new.2083/frr.changes 2022-09-07 11:06:04.976413589 +0200 @@ -1,0 +2,11 @@ +Mon Sep 5 11:48:25 UTC 2022 - Marius Tomaschewski <m...@suse.com> + +- Apply upstream fix for out-of-bounds read in the BGP daemon + that may lead to information disclosure or denial of service + (bsc#1202023,CVE-2022-37032) + [+ 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch] +- Apply upstream fix for a memory leak in the IS-IS daemon that + may lead to server memory exhaustion (bsc#1202022,CVE-2019-25074) + [+ 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch] + +------------------------------------------------------------------- New: ---- 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ frr.spec ++++++ --- /var/tmp/diff_new_pack.EAxiuY/_old 2022-09-07 11:06:05.552415053 +0200 +++ /var/tmp/diff_new_pack.EAxiuY/_new 2022-09-07 11:06:05.556415062 +0200 @@ -45,6 +45,8 @@ Patch4: 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch Patch5: 0005-isisd-fix-router-capability-TLV-parsing-issues.patch Patch6: 0006-isisd-fix-10505-using-base64-encoding.patch +Patch7: 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch +Patch8: 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison >= 2.7 @@ -191,6 +193,8 @@ %patch5 -p1 gzip -9 tests/isisd/test_fuzz_isis_tlv_tests.h %patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build # GCC LTO objects must be "fat" to avoid assembly errors ++++++ 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch ++++++ >From ff6db1027f8f36df657ff2e5ea167773752537ed Mon Sep 17 00:00:00 2001 From: Donald Sharp <sha...@nvidia.com> Date: Thu, 21 Jul 2022 08:11:58 -0400 Subject: [PATCH] bgpd: Make sure hdr length is at a minimum of what is expected References: bsc#1202023,CVE-2022-37032 Upstream: yes Ensure that if the capability length specified is enough data. Signed-off-by: Donald Sharp <sha...@nvidia.com> diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index dbf6c0b2e9..45752a8ab6 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -2620,6 +2620,14 @@ static int bgp_capability_msg_parse(struct peer *peer, uint8_t *pnt, "%s CAPABILITY has action: %d, code: %u, length %u", peer->host, action, hdr->code, hdr->length); + if (hdr->length < sizeof(struct capability_mp_data)) { + zlog_info( + "%pBP Capability structure is not properly filled out, expected at least %zu bytes but header length specified is %d", + peer, sizeof(struct capability_mp_data), + hdr->length); + return BGP_Stop; + } + /* Capability length check. */ if ((pnt + hdr->length + 3) > end) { zlog_info("%s Capability length error", peer->host); -- 2.35.3 ++++++ 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch ++++++ >From 49efc80d342d8e8373c8af040580bd7940808730 Mon Sep 17 00:00:00 2001 From: Donald Sharp <sha...@nvidia.com> Date: Wed, 20 Jul 2022 16:49:09 -0400 Subject: [PATCH] isisd: Ensure rcap is freed in error case References: bsc#1202022 Upstream: yes unpack_tlv_router_cap allocates memory that in the error case is not being freed. Signed-off-by: Donald Sharp <sha...@nvidia.com> diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c index 11be3c3a71..b3c3fd4b0b 100644 --- a/isisd/isis_tlvs.c +++ b/isisd/isis_tlvs.c @@ -3580,9 +3580,9 @@ static int pack_tlv_router_cap(const struct isis_router_cap *router_cap, } static int unpack_tlv_router_cap(enum isis_tlv_context context, - uint8_t tlv_type, uint8_t tlv_len, - struct stream *s, struct sbuf *log, - void *dest, int indent) + uint8_t tlv_type, uint8_t tlv_len, + struct stream *s, struct sbuf *log, void *dest, + int indent) { struct isis_tlvs *tlvs = dest; struct isis_router_cap *rcap; @@ -3627,7 +3627,7 @@ static int unpack_tlv_router_cap(enum isis_tlv_context context, log, indent, "WARNING: Router Capability subTLV length too large compared to expected size\n"); stream_forward_getp(s, STREAM_READABLE(s)); - + XFREE(MTYPE_ISIS_TLV, rcap); return 0; } -- 2.35.3