Fix CVE-2026-12244, CVE-2026-12245, CVE-2026-12246 and CVE-2026-12490
- CVE-2026-12244: A specially crafted SVCB RR can cause a heap
overflow of up to 65509 attacker controlled bytes.
- CVE-2026-12245: If NSD is configured with DNS over TLS, a
client that performs a TLS action, closing the connection early,
causes a crash and restart of the server process. An attacker can
keep all children in a crash-restart loop denying DoT service.
- CVE-2026-12246: The RR type APL rdata address, if too large,
causes out of bounds write on the stack, when the zonefile is written
out.
- CVE-2026-12490: Secondaries authenticated by a client
certificate to transfer a zone over TLS, can bypass verification by
transferring over TCP.
OK sthen
Return statically built addresses when hostname == NULL It always
returns IPv4 and IPv6 addresses when hostname == NULL; previously, it
returned only the address of the selected address family defined by
"family" in resolv.conf.
ok florian
x509_vfy: sync get_crl_sk() with BoringSSL and OpenSSL
Among CRLs with the same score prefer the one with the most recent
lastUpdate (RFC 5280 thisUpdate). This pulls in OpenSSL commits
626aa248, e032117d, 8b7c51a0 from 2016, so before the license change.
This uses the annoying ASN1_TIME_diff() API, but there is no better
way, really. Every other ASN1_TIME API will be just as awkward.
This fixes the currently failing x509_crl test cases.
ok kenjiro
Make getaddrinfo(3) check hnok_lenient() earlier.
r1.60 added special handling for localhost names; this was done before the
hnok_lenient() check, ensure this validation applies to localhost names too.
ok florian
vmd(8): prevent OOB reads in 32 and 64-bit ELF loaders.
Malformed ELF files could cause reading past section-headers.
For ELF64 files, malformed section metadata could cause out of bound
reads of heap allocated buffers.
Reported by Frank Denis.
Discussed with and "go for it" from mlarkin@
Add nicer dark and light colour sets (themes) used on terminals with 256
or more colours. Currently based these on emacs but they could change.
Terminals with fewer colours use the ANSI colours. A new "theme" option
overrides the detected theme (set to "terminal" to go back to ANSI
colours).
Do not silently truncate result of dname_expand.
This can only happen if the caller provides a buffer that's too
small. All current callers provide a buffer of size MAXDNAME, which is
large enough in all cases, otherwise dname_check_label would error out.
Found by me and independently by Andrew Griffiths.
OK deraadt, tb
vmd(8): prevent virtio scsi DoS from bad descriptor length.
A guest can construct a looping, zero-length descriptor chain that
spins forever when processing a READ_10 command. Check for zero
length scenario and abort the read with a warning.
Reported by Frank Denis.
Discussed with and "go for it" from mlarkin@
vmd(8): reject invalid PIT periods causing UB.
A guest can write values to Register A that results in a negative
shift exponent when computing the resulting timer rate. Detect and
ignore values to prevent UB from negative shift.
Reported by Frank Denis.
Discussed with and "go for it" from mlarkin@
vmd(8): fix fw_cfg leak of file directory buffer.
FW_CFG_FILE_DIR selector requests leak file directory buffers.
Repeated requests from guests can exhaust vmd process memory.
Reported by Frank Denis.
Discussed with and "go for it" from mlarkin@
ospfd(8) must be more paranoid about what it sends
to its peers using IPC messages (see imsg_add(3)).
The data passed between processes must not leak
information on memory address layout from process.
The process must be sending to its peers either data which
are needed or, if taking a shortcut, zeroize fields
which carry pointer (memory addresses) from process.
The issue has been reported by students
from British Columbia University earlier this year.
The fix includes generous feedback from claudio@
OK claudio@