untrusted comment: verify with openbsd-71-base.pub
RWR2eHwZTOEiTS8/oycrv3/a2O3J/+mxg8QpViqEDhjTodCxJRd7F7yh9fMkRaTZM5aq2gLehr0GwuNWguU0Pt8cZSc2eY/D9wQ=

OpenBSD 7.1 errata 014, November 26, 2022:

A crafted TCP query from localhost could crash the unwind(8) daemon.

Apply by doing:
    signify -Vep /etc/signify/openbsd-71-base.pub -x 014_unwind.patch.sig \
        -m - | (cd /usr/src && patch -p0)

And then rebuild and install unwind:
    cd /usr/src/sbin/unwind
    make obj
    make
    make install

Index: sbin/unwind/frontend.c
===================================================================
RCS file: /cvs/src/sbin/unwind/frontend.c,v
diff -u -p -r1.73 frontend.c
--- sbin/unwind/frontend.c	13 Mar 2022 15:14:01 -0000	1.73
+++ sbin/unwind/frontend.c	23 Nov 2022 18:08:53 -0000
@@ -63,6 +63,7 @@
 #include "control.h"
 #include "dns64_synth.h"
 
+#define	MINIMUM(a, b)		(((a) < (b)) ? (a) : (b))
 #define	ROUTE_SOCKET_BUF_SIZE   16384
 
 /*
@@ -1699,6 +1700,7 @@ tcp_request(int fd, short events, void *
 
 	if (sldns_buffer_position(pq->qbuf) >= 2 && !pq->abuf) {
 		struct sldns_buffer	*tmp;
+		size_t			 rem;
 		uint16_t		 len;
 
 		sldns_buffer_flip(pq->qbuf);
@@ -1709,8 +1711,9 @@ tcp_request(int fd, short events, void *
 		if (!tmp || !pq->abuf)
 			goto fail;
 
+		rem = sldns_buffer_remaining(pq->qbuf);
 		sldns_buffer_write(tmp, sldns_buffer_current(pq->qbuf),
-		    sldns_buffer_remaining(pq->qbuf));
+		    MINIMUM(len, rem));
 		sldns_buffer_free(pq->qbuf);
 		pq->qbuf = tmp;
 	}