untrusted comment: verify with openbsd-75-base.pub
RWRGj1pRpprAfqaef7EwmprubSelx+BVrJ4U5hyd4xErwAQfdZH8PJ1cS8ZUUZ6rsN+mmrD4n3fDRAzq67/QnnKsBYg7l61Q9A0=
OpenBSD 7.5 errata 004, June 26, 2024:
Repair a withdraw desyncronization problem in bgpd(8).
Apply by doing:
signify -Vep /etc/signify/openbsd-75-base.pub -x 004_bgpd.patch.sig \
-m - | (cd /usr/src && patch -p0)
And then rebuild and install bgpd:
cd /usr/src/usr.sbin/bgpd
make obj
make
make install
Index: usr.sbin/bgpd/rde_prefix.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_prefix.c,v
diff -u -p -u -r1.50 rde_prefix.c
--- usr.sbin/bgpd/rde_prefix.c 12 Jul 2023 14:45:43 -0000 1.50
+++ usr.sbin/bgpd/rde_prefix.c 25 Jun 2024 16:01:43 -0000
@@ -567,6 +567,9 @@ pt_writebuf(struct ibuf *buf, struct pt_
goto fail;
}
+ /* keep 2 bytes reserved in the withdraw case for IPv4 encoding */
+ if (withdraw && ibuf_left(buf) < ibuf_size(tmp) + 2)
+ goto fail;
if (ibuf_add_buf(buf, tmp) == -1)
goto fail;
ibuf_free(tmp);