OpenBSD 8.0 Release
OpenBSD 8.0 is een omvattende update van het besturingssysteem met een sterke focus op beveiliging, hardwarecompatibiliteit en systeemstabiliteit.
De belangrijkste hoogtepunten zijn:
- Platform & Kernel: Verbeteringen voor diverse architecturen, waaronder een verhoogde virtuele adresruimte voor amd64 en nieuwe ondersteuning voor RISC-V vector extensies. Er is aanzienlijke vooruitgang geboekt in de ondersteuning voor slaapstand en hibernatie.
- Hardware & Grafisch: De Direct Rendering Manager (DRM) is bijgewerkt, wat onder andere ondersteuning biedt voor Intel Arc A-Series videokaarten. Daarnaast is er nieuwe driver-ondersteuning voor moderne laptops van Samsung en Honor.
- Virtualisatie: De VMM/VMD is verbeterd met ondersteuning voor maximaal 64 VCPUs per gast-VM en betere afhandeling van interrupts.
- Netwerken & Beveiliging: De netwerkstack en de
pf-firewall zijn aangescherpt. Er zijn talloze beveiligingsfixes doorgevoerd (CVE's), waaronder updates voor pledge(2) en unveil(2).
- Essentiële Componenten: De release bevat belangrijke updates van externe software, waaronder LibreSSL 4.4.0 en OpenSSH 10.6, die beide diverse beveiligingspatches en nieuwe functies bevatten.
- Software collectie: Er zijn duizenden bijgewerkte pakketten beschikbaar, waaronder recente versies van GCC, LLVM/Clang, Firefox en diverse desktop-omgevingen zoals GNOME en KDE.
OpenBSD 8.0
Algemene Informatie
Voor een lijst met mirror-machines kunt u de informatie op de FTP-pagina raadplegen. Ga naar de directory pub/OpenBSD/8.0/ op een van de mirror-sites.
Voor een overzicht van bugs en tijdelijke oplossingen (workarounds) kunt u de errata-pagina voor versie 8.0 bezoeken. Voor een gedetailleerd logboek van de wijzigingen tussen de releases 7.9 en 8.0 is het changelog beschikbaar.
Publieke sleutels voor deze release (signify(1))
- openbsd-80-base.pub:
RWSMSt0erHTctUxq2JDAgQRo64ztikp8JvQeiSPte3NZ0Geou0TkTEiE
- openbsd-80-fw.pub:
RWRjzXzC89s1iQC9P3xgcdeN6OUoJz9t7ggTY0xBb1W8PfeOzAdwod66
- openbsd-80-pkg.pub:
RWRspL7ERnSFIscdEvBwVySymWNopP+CEZHbaB3IMJIt0bUXGBuIfUqC
- openbsd-80-syspatch.pub:
RWQAeCccO9yAASmUJSCJEW9C5WOP/GAsa5dhMtPPmb5pehzPO7EAmqhK
Alle toepasbare auteursrechten en credits bevinden zich in de bestanden src.tar.gz, sys.tar.gz, xenocara.tar.gz, ports.tar.gz, of in de bestanden die via ports.tar.gz zijn opgehaald.
---
Wat is er nieuw?
Dit is een gedeeltelijke lijst van nieuwe functies en systemen in OpenBSD 8.0. Voor een volledige lijst kunt u het changelog raadplegen.
Platformspecifieke verbeteringen
amd64
- De grootte van de virtuele adresruimte van de amd64-kernel is verhoogd van 4G naar 512G.
- De
pmap(9) direct map is nu op een willekeurige locatie geplaatst.
- Swap-encryptie is versneld door gebruik te maken van AES CPU-instructies.
arm64
- Toevoeging van hibernate-ondersteuning.
- Swap-encryptie is versneld door gebruik te maken van AES CPU-instructies.
- Implementatie van bounce buffers.
luna88k
- Oplossing voor m88k meerdere CMMU-register schrijfacties.
- Uitbreiding van de m88k kernel-mode CMMU fault-afhandeling om write protection faults te verwerken.
- Gegarandeerd dat
luna88k m8820xinitializecpu() logische CPU #0 initialiseert op non-MP kernels.
- Snellere CMMU walk in
luna88k m8820xcpunumber().
riscv64
- Detectie van CPU-extensies en communicatie hiervan naar de userland via
elfauxinfo(3) ATHWCAP en ATHWCAP2 queries.
- Kernel-ondersteuning toegevoegd voor de 'V' vector extensie.
- Implementatie van bounce buffers.
- Toevoeging van ondersteuning voor RISC-V Advanced Interrupt Architecture; toevoeging van
imsic(4) en aplic(4) drivers.
- Kernel-ondersteuning toegevoegd voor de Sstc timer extensie.
sparc64
- Toevoeging van een bounds check voor de sparc64 relocation flags tabel.
- Overstap van sparc64 naar de LLVM toolchain.
- Verbeterde geheugenuitlijning op SPARCV9.
Overige architecturen
- Ondersteuning voor de loongson-architectuur is beëindigd (werkt niet met Clang 22).
- Diverse RISC-V en MIPS bugfixes voor LLVM.
- Correctie van de codering van hppa protection bits.
Algemene kernelverbeteringen
- Correctie van de geheugengrootteberekening in
open_wmemstream(3).
- Oplossing voor
semop(2) semaphore-id die werd vernietigd/vervangen tijdens een context switch.
- Verbeterde heuristiek voor de inactive page queue voor
pagedaemon bij het swappen van pagina's of vrijgeven van geheugen.
- Toevoeging van
getexecpath(3) om een kopie van het uitvoeringspad van het elf(5) programma te leveren.
- Verdere voorbereidingen voor grotere disklabels.
Ondersteuning voor Slaapstand en Hibernatie
- Suspend/resume ingeschakeld voor
qwz(4).
ufshci(4) is nu bestand tegen een suspend op de Samsung Galaxy Book4 Edge en HONOR MagicBook Art 14 Snapdragon.
- Voorkomen dat een laptop wordt gewekt wanneer het scherm gesloten is en
machdep.lidaction=0.
- Toevoeging van een globale sleep mode variabele om hibernatie te onderscheiden van een 'normale' suspend.
- Toevoeging van suspend/resume ondersteuning voor
qcuart(4).
- Toevoeging van ondersteuning voor wakeup-interrupts aan
bytgpio(4), wat problemen met het hervatten van de IdeaPad na suspend oplost.
- Validatie van de grootte van chunks die naar piglet worden gekopieerd tijdens het uitpakken van het disk-image bij hibernatie.
- Validatie van on-disk image grootten tegen integer overflow bij het lezen van chunks in unhibernate.
- Voorkomen van disk-image overreads bij het lezen van de chunktable in unhibernate.
- Opschonen van de framebuffer na unhibernate.
- Fouten bij het alloceren van een dedicated queue voor
nvme(4) hibernate-ondersteuning zijn niet langer fataal.
Direct Rendering Manager (DRM) en grafische stuurprogramma's
drm(4) bijgewerkt naar Linux 6.18.53.
- Ondersteuning voor Intel Arc A-Series (DG2/Alchemist) videokaarten in
inteldrm(4).
- De verhoogde virtuele adresruimte van de kernel op amd64 maakt het mogelijk om meer dan 4GB aan VRAM te mappen.
- Workaround in
inteldrm(4) voor GuC timeout-fouten waargenomen op sommige Alder Lake-systemen.
VMM/VMD verbeteringen
- Toevoeging van MP-ondersteuning voor maximaal 64 VCPUs per gast-VM.
- Herontwerp om bestanden te gebruiken voor het beheren van VM-eigendom.
- Toevoeging van x2apic-modus ondersteuning voor gast-virtuele machines.
- Fix voor situaties waarin
vmd(8) de kernel bij opstarten niet detecteert.
- Het leveren van de faulting GPA aan
vmd(8) voor MMIO-exits vanuit vmm(4).
- Refactoring van
vmm(4) exit-afhandeling en correctie van RIP-aanpassing.
- Toevoeging van ondersteuning voor instructies van variabele lengte in VMX-paden naar
vmm(4).
- Voorkomen van OOB-reads door
vmd(8) in 32- en 64-bit elf(5) loaders bij malformed elf(5) bestanden.
- Implementatie van ontbrekende lapic/ioapic-modi om
vmd(8) ondersteuning voor 32-bit linux-gasten te herstellen.
- Toevoeging van checksum offload voor
vmd(8) gasten.
- Ondersteuning voor MSI/MSI-X virtio device interrupts toegevoegd.
- Daadwerkelijke ondersteuning voor split split-virtqueues in
vmd(8).
- Toevoeging van i82093aa ioapic en i82489dx-compatibele lapic emulatie aan
vmd(8).
- Verbeterde qcow-afhandeling.
Nieuwe Userland-functies
netstat(1) kan nu de interface multicast-teller printen; de -q optie is specifieker gemaakt.
- Aanpassing van de standaard
ps output in ddb(4), waarbij struct process en struct proc apart worden geprint.
mount(8) ondersteunt nu DUIDs met -u; DUID wordt behouden bij het bijwerken van het bestandssysteem.
- Implementatie van controle over midithru-poorten met
sndioctl(1).
- Lijstelementen kunnen nu worden toegevoegd of verwijderd via
sndioctl(1).
- De
sndiod(8) server.mode controle is nu dynamisch en wijzigbaar via sndioctl(1).
Bugfixes en aanpassingen in Userland
- Gegarandeerd dat de
elf(5) header en program header in de shared library passen tijdens het laden.
- Oplossing voor lek van sleutelgeheugen in
getpwent(3) yp_next().
- In
patch(1) is een oneindige loop bij malformed ed(1) script-input opgelost.
- Gebruik van
execv(3) absolute-path in authpf(8), pflogd(8), ldapd(8), ldpd(8), lpd(8), radiusd(8), snmpd(8).
uaudio(4) test nu of het gerapporteerde formaat en de kanalen bruikbaar zijn.
- Voorkomen dat
sndiod(8) afbreekt als een MIDI-endpoint verbindt met niet-lege buffers.
- Twee ontbrekende controles van de
file_new() returnwaarde in sndiod(8) hersteld.
- Correctie van
npppd(8) LCP MRU-optie afhandeling.
pstat(8) is aangepast om het pid van het session leader-proces terug te geven; -t -M werkt nu.
eigrpd(8) valideert nu de prefixlen om overflow te voorkomen.
sndiod(8) alloceert nu alle midithru-structuren op de heap.
Hardwareondersteuning en driver bugfixes
- Het GXTP7936 touchscreen op de Samsung Galaxy Book4 Edge is ingeschakeld.
- Ondersteuning toegevoegd voor de riscv64 K3 PCIe/USB3 combo PHY.
gpioleds(4) ingeschakeld op riscv64.
- In
smte(4) (SpacemiT K1 Ethernet device) is de foutcontrole van ontvangen pakketten verbeterd.
- Reguliere MSI-interrupts op de SpacemiT K1 SoC hersteld.
- Ondersteuning voor de SpacemiT K3 SoC toegevoegd aan
smtclock(4).
- SC7280 ondersteuning toegevoegd aan
qcgpio(4).
- Ondersteuning toegevoegd voor de SpacemiT K3
dwpcie(4) PCIe-controller.
- Toevoeging van RK3528 I2C5 clock, gebruikt in de Radxa E24C.
- ACPI hardware IDS toegevoegd voor Qualcomm Glymur (X2) SoC.
- Implementatie van page table mirroring in
apldart(4); IOMMU ingeschakeld voor Apple USB-controllers.
- Nieuwe
samsabi(4) driver voor de Samsung Advanced BIOS Interface (SABI).
- Nieuwe
sambat(4) driver voor de Samsung laptop battery monitor.
- Nieuwe
rkotp(4) driver voor Rockchip OTP-geheugen.
- Ondersteuning toegevoegd voor de RK8600 regulator gebruikt voor CPU-spanning op Radxa Zero 3 boards.
- Meer AMD "Krackan Point" device ids toegevoegd.
- Multitouch-ondersteuning voor de HONOR MagicBook Touchpad hersteld.
- FIFO-geheugen overflow in
esp(4) hersteld.
- Potentieel geheugenlek in
softraid(4) rebuild opgelost.
softraid(4) rebuild hersteld op schijven met 4096-byte sectoren.
- High memory mbufs hersteld voor 64-bit DMA-compatibele
re(4).
Netwerkhardware-ondersteuning
- Ondersteuning voor Panther Lake en Wildcat Lake Ethernet-apparaten toegevoegd aan
em(4).
- Ondersteuning voor Intel E610 Ethernet-apparaten toegevoegd aan de
ix(4) driver.
Draadloze netwerkdrivers
- Correcte afhandeling van lege pakketten teruggegeven door
qwx(4) hardware.
- Ontbrekende DMA syncs toegevoegd voor
qwx(4) SRNG DMA descriptor geheugen.
- Correcte afhandeling van
qwx(4) VIF DMA map allocatie-fouten bij attach.
- Crashes veroorzaakt door verouderde pointers op de
qwx(4) vif-lijst opgelost.
- Correcte reset van
qwx(4) driver en device state als het niet in RUNNING komt in qwx_init().
- Race condition in
qwx(4) device tijdens power-on voorkomen.
- Correct gebruik van de ioctl rwlock in
qwx(4) qwx_activate().
- Gegarandeerd dat
qwx(4) rxring->bufsmax en freemap altijd correct zijn geïnitialiseerd.
- Voorkomen dat
qwx(4) init task wacht tot de ioctl lock beschikbaar is.
- Fouten die optreden in
qwx(4) qwxqmifwinitdone() worden nu correct afgehandeld.
- Roaming tussen AP's met
qwx(4) hersteld.
- Data frame interrupts in
qwx(4) altijd toegestaan terwijl de interface UP is.
- Ondersteuning voor 40MHz kanalen toegevoegd aan
qwx(4).
qwx(4) alloceert nu alleen een nieuwe mbuf wanneer er een vrije Rx ring slot beschikbaar is.
- Voorkomen dat
busdmamapcreate() vanuit interrupt context in qwx(4) wordt aangeroepen.
- Country code events verzonden door
qwx(4) firmware worden nu afgehandeld om associatie betrouwbaarder te maken.
- Reset van de
qwx(4) command ring 'queued' counter wanneer de command ring wordt gereset.
- Gegarandeerd dat
qwx(4) nq-flags altijd worden gewist bij het wisselen van net80211 state.
- Aantal tx/rx streams in
qwx(4) mac config gecorrigeerd.
qwx(4) verzendt nu de PMF good-bye deauth frame bij het verlaten van de RUN state.
- Voorkomen dat nieuwe taken worden ingepland terwijl IFFRUNNING in
qwxstop() staat (voorkomt qwz(4) crash).
qwx(4) geeft nu de voorkeur aan ic_bss boven de ephemeral node in de scan tree.
- Peer wordt aan de
qwx(4) firmware toegevoegd ná het starten van de vdev, niet ervoor (voorkomt firmware crash).
- 802.11n ondersteuning toegevoegd aan
qwx(4); HT-mogelijkheden worden geadverteerd en HT/QoS peer associatie wordt doorgegeven.
qwx(4) firmware wordt gevraagd naar M3-status te gaan voordat het apparaat wordt gereset.
- Voorkomen dat
busdmamapdestroy() vanuit interrupt context in qwx(4) wordt aangeroepen.
- 802.11n met 40MHz breedte toegevoegd aan
qwz(4).
qwz(4) handelt nu QoS af in native WiFi-frames.
Installer, upgrade, bootloader en pkg-tools
- Harmonisatie van
installurl(5) afhandeling in pkg_add(1), sysupgrade(8) en syspatch(8).
- Vrije ruimte controle door
fw_update(8) voor niet-gekwalificeerde bestandsnamen hersteld.
- Limiet ingesteld op de grootte van bestanden die
fw_update(8) kan downloaden.
- Striktere validatie in
fw_update(8) om onbetrouwbare comments niet langer als data te behandelen.
pkg_add(1) detecteert en overwint nu sommige oneindige loops met merge-sets.
- Trailing slashes verwijderd uit
fw_update(8) FWURL.
- Huidige directory verwijderd uit het standaard
pkg_add(1) zoekpad.
- Verbeterd downloaden van firmware op bestandsnaam in
fw_update(8).
- Verbeterde foutmelding in
fw_update(8) wanneer SHA256.sig niet wordt gevonden.
fw_update(8) controleert nu de signatuur van de lokale SHA256.sig.
- In
fw_update(8) slaat tar(1) bestanden buiten de verwachte locaties over.
- Voorkomen dat
syspatch(8) het volledige tgz-bestand downloadt bij het zoeken naar een mogelijke update.
Beveiligingsverbeteringen
pledge(2) in vfs(9) hersteld.
- Out-of-bounds toegangspogingen op
aplmca(4) SOCs opgelost.
- Stopgezet gebruik van non-standard UIDMAX en GIDMAX in diverse utilities.
ipsec(4) AES GMAC crypto verbeterd.
iked(8) wijst nu malformed en out-of-state IKEv2-berichten af.
- Memleak in
x509_verify (CID 656293) gedicht.
- Overflow in
sysctl(2) KERNPROCARGS voorkomen.
- Voorkomen dat foutieve of maliciouse iaddr-data
dhcpd(8) doet crashen.
- Potentiële geheugenuitputting via DHCPINFORM in
dhcpd(8) voorkomen.
- Correct gebruik van
saltlen en min_saltlen in libcrypto RSA-PSS.
- Ongeldige delta CRLs in libcrypto x509 worden nu afgewezen.
- RFC 3779 overervingsafhandeling in de path-validatie van libcrypto hersteld.
- Gebruik van
execve(2) als $ORIGIN in ld.so(1) (anders fallback naar realpath).
syspatch(8) versterkt tegen maliciouse scripts.
- Beperking van tekens die toegestaan zijn via
smtpd(8) environment en mda.
- Lezen voorbij de NUL door
pax(1) hersteld.
- Voorkomen dat
pax(1) maliciouse archieven buiten de werkomgeving uitpakt.
- 'mcast' toegevoegd aan de
pledge(2) voor lldpd(8).
pledge_sockopt() level/optname controles aangescherpt voor verschillende types sockets.
- 'mcast'
pledge(2) uitgebreid om multicast-aanpassingen op Ethernet frame sockets toe te staan.
- Libexpat bijgewerkt naar versie 2.8.4 (CVE-2026-66046, CVE-2026-76641, CVE-2026-76957).
- Script pathname TOCTOU in
exec voorkomen wanneer de vnode verandert.
execve(2) realpath-verwerking robuuster gemaakt.
luna88k overgeschakeld naar het bouwen van kernel-bestanden met -fno-pie.
- Unprivileged kernel memory read/write kwetsbaarheid in m88k 88100 data pipeline verwijderd.
unveil(2) beperkt nu de lees- en schrijftoegang voor man(1), makewhatis(8) en man.cgi(8).
dhcpleased(8) valideert nu het IP-adres dat de DHCP-server bevestigt.
- Signed integer overflow in
perl(1) Storable hersteld (CVE-2026-57433).
- Integer overflow in
perl(1) pack en unpack hersteld (CVE-2026-57432).
- Onjuiste reguliere expressie matches in
perl(1) hersteld (CVE-2026-13221).
- Geheugenlekken en race condition in
profil(2) hersteld.
- Controle van
elf(3) notes verbeterd; out-of-bounds toegang voorkomen.
elf(3) interpreters zonder loadable segments worden nu afgewezen.
kbind(2) en pinsyscalls(2) uitgeschakeld voor statische binaries binnen execelfmakecmds().
elf(5) structs aangepast om lekken van kernel stack-inhoud te voorkomen.
- LibXfont 2 fixes voor CVE-2026-56001, CVE-2026-56002 en CVE-2026-56003.
- Xserver(1) fixes voor CVE-2026-55999 en CVE-2026-56000.
perl(1) Socket bijgewerkt naar 2.041 (bevat fix voor CVE-2026-12087, out-of-bounds heap read).
iked(8) hersteld om bzero(3) te gebruiken voor de mask data structuur in plaats van mask4.
- Fixes voor CVE-2026-12244, CVE-2026-12245, CVE-2026-12246 en CVE-2026-12490 in
nsd(8).
- Lek van transport in
isakmpd(8) error-paden van udpencaphandle_message() gestopt.
- Per-type ID payload grootte afgedwongen in
isakmpd(8) ipsecvalidateid_information().
- Shift overflows in
memmem(3) en strstr(3) voorkomen.
- Meerdere aanvullende bounds checks in
isakmpd(8).
- Een apart uitvoerbaar bestand geleverd voor de
syslogd(8) parent voor privilege separation.
smtpd(8) wist nu userinfo voordat dit via imsg wordt verzonden.
smtpd(8) wijst nu oversized sockaddr payloads af die via privsep IPC worden ontvangen.
- Tijdelijke
smtpd(8) envelope parsing buffers worden genuld voor gebruik om privsep te versterken.
- Openstaande asynchrone lookups worden bij teardown gewist voor sterkere
smtpd(8) privsep.
- Potentieel informatielek van een niet-geïnitialiseerde
ktrace(1) stack variabele hersteld.
Nieuwe functies in de netwerkstack
ice(4) link state ingesteld op full duplex.
- Maximum TSO segs in
ice(4) verminderd, zodat meer interfaces kunnen worden toegevoegd.
- Gebruik van 128 DMA-segmenten voor TSO-pakketten op
ice(4) ingeschakeld.
- 64-bit DMA ingeschakeld voor
bge(4) BCM5720.
- Jumbo frames ingeschakeld in
ogx(4).
Aanvullende wijzigingen en bugfixes in de netwerkstack
- Voorkomen dat
ipsec(4) de maximale pakketgrootte in de IP-header overschrijdt.
- Out of bound reads door een int overflow in de
bpf(4) bpf_mem backends gedetecteerd.
bpf(4) voor uitgaande pakketten later in het verzendpad geplaatst.
- Geheugenlekken voorkomen wanneer mbuf chain allocaties mislukken in
tun(4) tundevwrite().
hardmtu en rxmax in ixl(4) hersteld.
- Dynamische wijzigingen in kanaalbreedte correct afgehandeld in
iwx(4).
bpf(4) bpffilter versterkt; niet-afgehandelde instructies worden geblokkeerd met bpfvalidate.
- Correcte program bound checks toegevoegd aan de
bpf(4) engine (libpcap CVE-2026-31912).
- BPF filter calls in
ppp(4) hersteld; gebruik van bpf_mfilter(9).
imsg afhandeling van LSUPD, LSFLOOD en LS_SNAP in ospfd(8) verbeterd.
ospfd(8) imsg afhandeling gewijzigd.
ospfd(8) voegt nu ontbrekende rtlabel referenties toe en werkt routes bij wanneer alleen het label verandert.
- Geconfigureerd interfacetype behouden bij
ospf6d(8) link update.
- Gegarandeerd dat
ospfd(8) geen informatie over de geheugenadres-indeling lekt vanuit het proces.
authpf(8) read_config() verwijdert nu trailing white space om misconfiguraties te voorkomen.
- Lek van kernel stack data in
veb(4) SIOCBRDGRTS en SIOCBRDGVRTS ioctls hersteld.
- Pakketcorruptie in
veb(4) opgelost.
veb(4) geeft nu ENOMEM terug wanneer mallocarray() mislukt in vebrulelist_get().
ifconfig(8) 'vebX -tagged ifX' hersteld, wat voorheen te veel argumenten accepteerde.
em(4) K1 exit timeout verbeterd om non-broadcast pakketten te ontvangen.
- MAC-type tests op
em(4) vereenvoudigd.
Wijzigingen in de pf(4) firewall
- Off-by-one in
pf(4) ioctl DIOCIGETIFACES hersteld.
- De ruleset van de
pf(4) caller wordt niet langer vrijgegeven wanneer het toevoegen van een tabel mislukt.
- Niet-afgesloten strings in
pf(4) ioctls worden niet langer toegestaan.
- Voorkomen dat
pf(4) geldige MLD-pakketten met een ongespecificeerd bronadres weggooit.
- Voorkomen dat
pf(4) de TCP-status weggooit bij ontvangst van een vervalst reset-pakket.
- Races in
pf(4) connectie-tellers die leidden tot underflows opgelost.
- Fragment-reassembly in
pf(4)/inet(4)/inet6(4) vindt nu plaats in het correcte routingdomein.
- Voorkomen dat 'pfctl -s all' alle geladen OS-fingerprints naar
pf(4) dumpt.
- NULL pointer dereference in
pf(4) outbound packet path hersteld.
- Out-of-bounds read in
pf(4) pfrulecopyin() hersteld.
Routing-daemons en overige netwerkprogramma's in userland
- Code in
smtpd(8) gewijzigd om valse bug-rapporten van LLM-scanners te voorkomen.
size_t underflow bij malformed pakketten in agentx(3) en snmpd(8) voorkomen.
- Server-flags van
httpd(8) uitgebreid naar 64-bit integers.
httpd(8) dwingt nu 'max request body' af voor chunked requests die naar fastcgi worden doorgegeven.
httpd(8) wijst nu configuraties van gedeelde TLS-listeners met verschillende client CA of CRL af.
httpd(8) verzendt nu één imsg fastcgi param struct per parameter om de configuratievolgorde te behouden.
- Ondersteuning voor custom HTTP-headers toegevoegd aan
httpd(8).
- Suffix range afhandeling in
httpd(8) hersteld.
- Voorkomen dat
httpd(8) location fcgiparams tweemaal verzendt.
httpd(8) voert nu abort-responses af via bufferevent om te voorkomen dat fouten worden afgekapt.
IMSGCTLPROCFD beperkt tot de parent en controleert proces-id/instance in iked(8), httpd(8), relayd(8) en snmpd(8).
- Standaard TLS-cipher in
httpd.conf(5) gewijzigd van 'compat' naar 'secure'.
httpd(8) en dhcpd(8) controleren nu correct op fouten bij timegm(3).
- Random-relink van
smtpd(8) en httpd(8) bij opstarten.
httpd(8) wijst nu CL.TE request framing af (conform RFC 9112 secties 6.1 en 6.3).
httpd(8) wijst nu obs-fold af met een 400-fout (RFC 9112 5.2).
- Uploads via
httpd(8) chunked transfer-encoding hersteld.
httpd(8) adverteert nu Vary: Accept-Encoding wanneer gzip-static is ingeschakeld.
httpd(8) adverteert nu statische bestand-revalidatie, waarbij Last-Modified en If-Modified-Since flow behouden blijven.
- Meer configuratiecontroles toegevoegd aan
relayd(8).
relayd(8) redirect rules worden nu expliciet geflusht na het herladen.
- Verkeerde disable-flag voor routers in
relayd(8) verwijderd.
- Gebruik van een per-host random ICMP echo id in
relayd(8).
- Ondersteuning voor Lua-patronen(7) toegevoegd voor
relayd(8) filter-rules; documentatie voor glob(7) verbeterd.
- Gebruik van
getexecpath(3) en execv(3) in bgpd(8), eigrpd(8), httpd(8), iked(8), ntpd(8), relayd(8) en smtpd(8).
- Log voor uitgestelde connecties in
relayd(8) hersteld.
relayd(8) controleert nu de returnwaarden van proccompose en imsgcompose_event.
- Log-niveau instelbaar via
relayd.conf(5).
- ECDSA-ondersteuning toegevoegd aan de
relayd(8) CA privsep-engine.
relayd(8) wijst nu dubbele Content-Length headers af met een 400-fout.
- Standaard TLS-cipher in
relayd.conf(5) gewijzigd van 'HIGH:!aNULL' naar 'secure'.
relayd(8) is overgestapt naar de nieuwe imsg API.
relayd(8) verwijdert nu Content-Length voor chunked berichten (RFC 9112 sectie 6.1).
relayd(8) wijst nu obs-fold af om parser-verschillen te voorkomen (RFC 9112 5.2).
X509dup() call in relayd(8) die geheugen lekte verwijderd; foutcontroles toegevoegd voor X509set_*.
- Ondersteuning voor de MKCALENDAR HTTP-methode toegevoegd in
relayd(8).
- Debug build van
relayd(8) hersteld.
relayd(8) ondersteunt nu meerdere resolvable adressen.
relayd(8) handelt nu HTTP-responsen zonder body af.
- NULL-dereference in
isakmpd(8) messageallocreply() callers hersteld.
- Mogelijke niet-uitgelijnde 32-bit read door
isakmpd(8) hersteld.
- SPI-array grootte van
isakmpd(8) DELETE payload gevalideerd.
- Proposal en transform grootten in
isakmpd(8) gevalideerd.
- Lengtecontroles toegevoegd voor de Port-Message en State attributen in
login_radius(8) Access-Challenge.
- Voorkomen dat de
dhcpleased(8) engine een negatief aantal routes verzendt.
dhcpleased(8) accepteert nu het correcte aantal routes van de engine-proces.
- Gegarandeerd dat het UDP-header lengteveld van
dhcpleased(8) ten minste de UDP-header bestrijkt.
smtpd(8) mask-src uitgebreid om sessiedetails te onderdrukken.
smtpd(8) is overgestapt naar imsgbuf_get(3).
- Dispatcher in
smtpd(8) mdaenvelopefree() vrijgegeven om een lek te voorkomen.
smtpd(8) wijst nu lege of met slashes voorzien gebruikersnamen af voordat het mbox-pad wordt gebouwd.
smtpd(8) wijst nu CR/LF in argv-afgeleide velden af voordat de SMTP enqueue-dialoog start.
- Gekopieerde envelope in
smtpd(8) smarthost lookup failure pad correct vrijgegeven.
mdasubaddress in smtpd(8) mdaenvelope_free() correct vrijgegeven om geheugenlek te voorkomen.
smtpd(8) gebruikt nu inflateEnd() om de inflate-stream in uncompressgzipchunk() te beëindigen.
smtpd(8) stopt nu met het parsen van DNS-antwoorden zodra unpack_rr() een fout rapporteert.
- Versleutelde
smtpd(8) queue-buffer grootten gevalideerd voordat auth tag en IV-data worden verwerkt.
- Import van
rtrd(8) RPKI-To-Router protocol daemon en rtrctl(8).
Wijzigingen in acme-client(1)
- Wildcards kunnen nu worden gespecificeerd in alternatieve namen in de
acme-client(1) configuratie.
acme-client(1) wist nu optarg/eab/eab_key met freezero(3) na gebruik.
- Foutcontrole voor
strdup() bij externe accountbinding in acme-client(1).
- HTTP request injectie in
acme-client(1) voorkomen.
acme-client(1) handelt nu '=' padding in base64url gecodeerde EAB-sleutels af.
timegm(3) aanroepen in acme-client(1) hersteld.
- Ondersteuning voor externe accountbinding toegevoegd aan
acme-client(1).
Wijzigingen in bgpd(8)
bgpd(8) graceful restart timer afhandeling voor multi-AFI/SAFI sessies aangepast.
bgpd(8) voert nu een prefix-herwaardering uit als de validatiestatus van een route verandert.
bgpd(8) NEXTHOPCONNECTED in nexthopupdate() gewist als msg->connected onwaar is.
bgpd(8) knijpt nu reads van de peer af wanneer MSGPROCESSLIMIT is bereikt.
bgpd(8) aspatableequal() gelijkheidsvergelijking hersteld.
- Nieuwe RTR v2 foutcodes uit draft-ietf-sidrops-8210bis-26 geïntegreerd in
bgpd(8).
bgpd(8) IdleHoldTimer en de snelheid van reconnects herontworpen.
- De
force_update logica in de bgpd(8) adj-rib-out herontworpen.
- Voorkomen dat
bgpd(8) peer-data lekt naar bgpctl(8).
chmetalocate() geïmplementeerd in bgpd(8).
- De
bgpd(8) pathidtx hack voor reguliere peers hersteld.
mrtdumpentry_mp() berekening in bgpd(8) verbeterd om overflow te voorkomen.
- Oneindige loop bij het parsen van PFKEY-antwoorden in
iked(8), isakmpd(8), bgpd(8) en ldpd(8) voorkomen.
bgpd(8) garandeert nu dat het nexthop-attribuut aanwezig is als er nlri-data is.
bgpd(8) faalt niet langer hard bij een versie-mismatch; extra end-of-params berichten worden genegeerd.
- Afhandeling van onbekende extended communities in
bgpd(8) verbeterd.
- De
bgpd(8) MRT-attribuutbuffer verhoogd naar MAXEXTPKTSIZE zodat deze in alle gevallen werkt.
- Use-after-free in
bgpd(8) rib_remove en parse.y hersteld.
bgpd(8) forceupdate flag toegevoegd om pendprefixadd() calls in adjoutprefix_update() af te dwingen.
bgpd(8) respecteert nu de RTR min-version in het downgrade-pad en sluit de verbinding correct af.
bgpd(8) add-path send parser verbeterd. Geeft een fout indien max wordt gebruikt met best.
- Afhandeling van limieten in
bgpd(8) upgenerateaddpath() aangepast.
- Extended message capability toegevoegd aan checks voor wat de
bgpd(8) peer heeft ingeschakeld.
bgpd(8) geeft nu een fout terug bij onafgehandelde imsg types in het adj-rib-out geval.
bgpd(8) poortconfiguratie op little endian systemen hersteld.
- Extra groottecontroles voor
bgpd(8) ibufsetmaxsize().
- MAXADDPATHCOUNT (ingesteld op 100) geïntroduceerd en gebruikt voor de
bgpd(8) add-path.
- In
bgpd(8) mergepeers() wordt nu ook localbgpid ingesteld voor gekloonde peers, niet alleen voor reguliere peers.
- Loop-tellers in
bgpd(8) omgezet van uint8t naar uint.
- Maximum configureerbare stale time in
bgpd(8) verminderd tot CAPAGRTIMEMASK (4095).
bgpd(8) sessiongracefulrestart() activeert nu ook de SessionDown timer.
bgpd(8) controleert nu xp->rdesession om te weten of de RDE de sessie draaiend heeft.
pathcalchash() in bgpd(8) verbeterd.
- 'treat as withdraw' afhandeling voor ongeldige
bgpd(8) ORIGIN attributen hersteld.
- Twee geheugenboekhoudingsproblemen in
bgpd(8) chash hersteld.
- Aanvullende controles op TLV-codering in
bgpd(8).
- Alle
bgpd(8) ASPATH attributen beperkt tot 750 elementen.
- In
bgpd(8) overflow van de uint8t lengtewaarde in attroptadd voorkomen.
bgpd(8) prefixes opnieuw evalueren als alleen PREFIXFLAGFILTERED is gewijzigd.
Wijzigingen in rpki-client(8)
rpki-client(8) hersteld om buffer overreads met OpenSSL 4.1 te voorkomen.
rpki-client(8) wijst niet-conforme certificate subject coderingen af.
rpki-client(8) controleert nu de uitlijning van certificate CRLDPs met de verwijzende Manifest.
rpki-client(8) cmsparsevalidate() herontworpen.
- Afhandeling van overgeërfde resources in leaves door
rpki-client(8) hersteld.
- Alle signed object parser-functies in
rpki-client(8) unified.
rpki-client(8) waarschuwt nu onvoorwaardelijk over onjuiste RSA-parameters; sommige malformed ROA's worden afgewezen.
- Bereik van delta's die aan de
rpki-client(8) wachtrij worden toegevoegd beperkt.
- Consistente statussen in persistente
rpki-client(8) HTTP-verbindingen gegarandeerd.
- Verschil in gedrag tussen
rpki-client(8) versies met en zonder gbr ondersteuning verwijderd.
- Mogelijke exit race in de
rpki-client(8) parser hersteld.
rpki-client(8) registreert NCA-geschiedenis nu alleen bij succesvolle runs.
rpki-client(8) genereert configuratiebestanden nu alleen bij een succesvolle run.
rpki-client(8) retries van niet-functionele CA's gebundeld op basis van hun rsync base URI.
- Beperkingen correct toegepast op
rpki-client(8) BGPsec Router certs.
rpki-client(8) skiplist, shortlist en NCA retry afhandeling gededupliceerd.
- Onjuiste free in
rpki-client(8) ncahistload() verwijderd.
- In
rpki-client(8) certcasia() wordt nu de correcte notify-string in de foutmelding gebruikt.
- Dubbele fclose in een success-pad in
rpki-client(8) verwijderd.
- Coinflip toegevoegd om cycle-to-cycle jitter in
rpki-client(8) te vergroten.
- Backoff retry mechanisme voor niet-functionele CA's toegevoegd in
rpki-client(8).
rpki-client(8) wijst nu certs met dubbele extensie OID's af.
last_modified gewist na elke respons op een persistente HTTP rpki-client(8) verbinding.
- Subordinates in CCR manifests in
rpki-client(8) omgezet naar een eenvoudige wachtrij.
rpki-client(8) sluit nu verborgen bestanden en directories uit bij synchronisatie via rsync.
- Lengte van bestandsnamen in sommige ASN.1 velden in
rpki-client(8) beperkt tot 255.
- Onvolledige
strncmp() check in rpki-client(8) hersteld.
- Off-by-one in
rpki-client(8) ipaddrcheck_overlap() hersteld.
- Shortlist en skiplist checks in
rpki-client(8) hersteld.
- Meer foutcontroles en waarborgen toegevoegd aan
rpki-client(8).
Verbeteringen en bugfixes in tmux(1)
- Scrollpositie in tree-modus behouden wanneer de lijst wordt herbouwd (issue 5631).
- Voorkomen dat wachtende clients (in wait-for) lekken als ze worden gedood (issue 5614).
- Markering niet annuleren wanneer een klik op de rand plaatsvindt.
- Ondersteuning toegevoegd voor randloze menu's, zoals panes.
- utf8 terminal-features toegevoegd.
- Focus-events eerder negeren om interferentie met prefix te voorkomen.
-K flag toegevoegd aan new-pane om een modale pane alle toetsen te laten vastleggen.
- Altijd unzoomen vóór het splitsen van vensters, inclusief voor floating panes.
- 'T' toegevoegd om de pane-titel te wijzigen.
refresh-now commando toegevoegd.
- Ms negeren als deze ongeldig is (bijv. geen %p1), rapporteert in client-modus.
- Crash bij synchronisatie van groepen wanneer er geen huidig venster is, hersteld.
paneprivatemodes formaat toegevoegd met een lijst van DEC private modes.
- Core dumps bij opstarten op landisk voorkomen.
- Modale panes toegevoegd, momenteel gemaakt met
new-pane -O.
- Grote herziening van prompts.
- Cursorberekening hersteld wanneer de statusregel bovenaan staat.
-H flag toegevoegd aan capture-pane om hyperlinks te tonen.
-L toegevoegd om regelnummers te tonen met capture-pane, en -F voor regel-vlaggen.
- Volledige regels wissen bij het verwijderen uit geschiedenis of vrijgeven.
- Volledige sessie opnieuw tekenen bij het maken van een nieuwe pane.
-g flag toegevoegd aan kill-session om alle sessies in een groep te doden.
- Crash bij het vrijgeven van layout cell hersteld.
- Ontbrekend argument toegevoegd aan
%unlinked-window-renamed.
- Escape-vertraging verhoogd als de buffer een gedeeltelijke paste-eind bevat.
- Crash veroorzaakt door het opnemen van niet-gekoppelde clients op een gesorteerde lijst hersteld.
new-pane commando toegevoegd.
- Oneindige loop door underflow bij het opnieuw tekenen van de scrollbar hersteld.
- Teardown-volgorde voor queued pane output in control-modus hersteld.
- Emacs-stijl re-centre-top-bottom toegevoegd.
- Tijdslimieten toegevoegd aan sommige loops.
- Ontbrekende vlaggen toegevoegd aan
screenmodeto_string.
LibreSSL versie 4.4.0
Portable wijzigingen
- Talloze compatibility layer fixes voor AIX, FreeBSD, macOS, MinGW, NetBSD, en vooral Windows.
- Incorrecte codegeneratie door de MSVC ARM64 optimizer in constant-time bignum code hersteld.
- Assembly-ondersteuning op veel platforms verbeterd.
openssl(1), nc(1) en ocspcheck(8) hersteld zodat ze niet langer stilzwijgend draaien zonder pledge(2) en unveil(2) op hosts die deze bieden.
Interne verbeteringen
- Kleine code-opschoonactie voor PKCS#7.
- Ongebruikte bits gewist voor het maximum van RFC 3779 IP-adres ranges.
- Opschoonacties in de DTLS-code om veel omwegen te voorkomen.
failure_key in ML-KEM code genuld.
- Portabiliteit in preprocessor-gebaseerde SHA assembly verbeterd.
- Enkele overbodige
#ifdefs uit publieke en interne headers verwijderd.
dtls12handshakemsg framework geïntroduceerd en in gebruik genomen.
- Union hernoemd van
_ naar u in de ui-code om Windows CE #ifdef te vermijden.
- Schoonmaak en vereenvoudiging van signature algorithm afhandeling na verwijdering van TLSv1.0 en TLSv1.1.
- Check voor 'point at infinity' toegevoegd aan
ecdhcomputekey().
- Onjuiste purpose-check in de unreachable non-legacy path van de moderne X.509 verifier hersteld.
- TLSv1.3 server afhandeling van 'no shared groups' verbeterd.
- Correcte secundaire key share afhandeling voor HelloRetryRequests.
- EXFLAGCRITICAL mishandeling in de
crlcb() hersteld.
- Bij CRL's met dezelfde score wordt nu de voorkeur gegeven aan degene met de meest recente
thisUpdate om BoringSSL en OpenSSL gedrag te matchen.
- Sequence number en message header afhandeling in DTLS opgeschoond.
- Redundante
BIOwrite() lengte-asserties in b64write() verwijderd.
- Ongeldige base64 BIO-status nu gerapporteerd als interne fout in plaats van een assert.
- SHA-3 prestaties verbeterd door gebruik van een unrolled en interleaved algoritme.
- TLSv1.3 receive buffers nu lazy gealloceerd.
- Afhandeling van resterende record-inhoud bij overgang naar de legacy stack vereenvoudigd.
- Hinderlijke vernauwing van de returnwaarde in
dtls1_ctrl() voorkomen.
- NIDmd5sha1 ondersteuning uit
tls1_PRF() verwijderd.
- DTLS unprocessed records queue verwijderd.
- DTLS application data queue verwijderd.
SSL3FLAGSNORENEGOTIATECIPHERS verwijderd omdat deze nooit is ingesteld.
Compatibiliteitswijzigingen
- De foutief benoemde
tlspeercertchainpem() is deprecated en kan in een toekomstige release worden verwijderd. tlspeercertchainverifiedpem() en tlspeercertbundleunverifiedpem() moeten in de plaats worden gebruikt.
X25519MLKEM768 is nu de voorkeursgroep voor TLSv1.3 verbindingen in libtls.
- Gegarandeerd dat libtls blijft werken met toekomstige OpenSSL-releases die stoppen met het NUL-termineren van ASN.1 strings.
CRYPTOcleanupallexdata() is nu een no-op. Het was niet thread-safe en de eigenlijke cleanup wordt nu gedaan door OPENSSL_cleanup(3).
X509checkca(3) is afgestemd op moderne OpenSSL. Hoewel gedocumenteerd dat het alleen werkt na X509checkpurpose(3), is het zinvol om "fail closed" te gaan (indiceren als non-CA).
- OIDs toegevoegd voor CCR, ErikIndex, ErikPartition, ErikSegmentIndex en communityDefinition.
Bugfixes
PKCS7set{un,}signed_attributes(3) hersteld zodat de caller kan vrijgeven bij fouten in plaats van het risico op een double free.
decodeerror en invalidkey variabelen in TLS key share code geïnitialiseerd om branching op niet-geïnitialiseerd geheugen te voorkomen.
- Extension lengte tussen type en data in de ClientHello hash vastgelegd om identieke framing in de eerste en tweede CH te garanderen.
- Out of bound writes in de
s_client XMSS modus hersteld.
- Gegarandeerd dat
ECGROUPcheck(3) en X509CRLverify(3) fouten resulteren in "app" fouten in openssl(1) ecparam en openssl crl.
accept faalt niet langer bij reverse DNS lookup fouten in s_socket.
- Gegarandeerd dat
X509V3EXTprint(3) alleen 0 en 1 teruggeeft.
- Voorkomen dat
memcmp() op NULL wordt aangeroepen in IPAddressFamily_cmp().
- In libtls is wildcard matching van een TLD gespecificeerd als een FQDN verboden.
- Enkele aspecten van TLSv1.2 met custom curve lists hersteld.
- Gegarandeerd dat een peer-provided EC public key uncompressed encoding gebruikt.
- Verzend decode_error alert bij fouten in het decoderen van een EC peer pubkey.
- NULL dereference en out-of-bounds read in password-based CMS decryptie voorkomen.
- Ontbrekende bounds check toegevoegd aan
ASN1mbstrinccopy().
- Voorkomen dat een buffer die eigendom is van de caller wordt vrijgegeven in
PKCS7_verify(3).
SSLOPLEGACYSERVERCONNECT verwijderd uit de standaardopties.
- Illegal parameter alerts verzonden voor diverse HelloRetryRequest schendingen.
- Controle of de door de server geselecteerde ciphersuite geldig is voor gebruik met TLSv1.2.
CRYPTOLOCKUI ontgrendeld bij uiopensession() fouten om deadlock te voorkomen.
HMAC(3) returnwaarde gecontroleerd om later gebruik van niet-geïnitialiseerd geheugen in openssl(1) te voorkomen.
- Correct alert gebruikt voor keyshare zonder supportedgroups.
X509VERRHOSTNAMEMISMATCH niet langer gedropt wanneer de verify callback 1 teruggeeft.
- Gegarandeerd dat de server een ALPN protocol selecteert dat we hebben geadverteerd, anders wordt de handshake afgebroken met
illegal_parameter.
- Streaming van PKCS#7 objecten met weggelaten content hersteld.
- OOB toegang door type confusion in
PKCS7_stream() voorkomen.
- Lek en diverse andere bugs in
asn1_multi() (helper voor sequences en sets in configuratieparsing) opgelost.
- RFC 3779 overervingscontroles voor leaves hersteld, voor zover mogelijk zonder de RPKI te breken.
- Foutieve groottecontrole in
dtls1processfragment() hersteld.
- Voorkomen dat delta CRLs worden aangezien voor full CRLs.
- Bij het kopiëren van een RSA-PSS
EVPPKEYCTX wordt nu gegarandeerd dat saltlen en minimal saltlen restricties worden gekopieerd in plaats van defaults te gebruiken.
- DTLS clients mogen nu onverwachte Finished berichten ontvangen.
- Extensions van de leaf worden gecached voordat deze aan een gevalideerde chain worden toegevoegd om name constraints check betrouwbaarder te maken.
- Gegarandeerd dat het volledige subject wordt doorzocht naar e-mailadressen en common names.
- Check voor embedded NULs in e-mails en subjectAltname in de legacy
NAMECONSTRAINTS*() API.
- Ondersteuning voor
nameRelativeToCRLIssuer in de CRL Distribution Point extensie verwijderd conform RFC 5280.
Beveiliging en betrouwbaarheid
- Parsing problemen in X.509 name constraints URI host parsing hersteld.
- IPv6 literals correct afgehandeld en voorkomen dat speciaal vervaardigde userinfo host-checks omzeilt.
- Grootte van gebufferde DTLS handshake berichten beperkt om overmatige geheugenconsumptie bij kleine fragmenten te voorkomen.
- OCSP responder autorisatie-bypass hersteld voor clients die
tlsconfigocsprequirestapling() gebruiken (bekend bij OpenBSD nc(1) en ftp(1) met het "muststaple" trefwoord).
Testen en proactieve beveiliging
- Testdekking voor DTLS en TLS renegotiatie verbeterd.
- X.509 CRL regress toegevoegd vanuit pre-Apache2-licensed BoringSSL.
- Testframework herontworpen om geheugen-gebaseerd te zijn in plaats van bestand-gebaseerd, nauwer aansluitend op het output-formaat van Go.
OpenSSH 10.6
Beveiligingsfixes
ssh(1) LZ77 dictionary coder uitgeschakeld om een potentiële side-channel leak te voorkomen.
ChannelTimeout en RekeyLimit worden nu correct toegepast in sshd_config(5).
ssh(1) authorized_keys "restrict" trefwoord wordt nu correct toegepast op tunnel forwarding.
Potentieel incompatibele wijzigingen
- Gebruik van IANA-gealloceerde codepoint voor
ssh-mldsa44-ed25519 in plaats van '@openssh.com'.
sshd_config(5) DisableForwarding=yes overrulet nu PermitTunnel=yes.
- Maximale grootte afgedwongen voor gebruikersnamen in
ssh-agent(1) agent key use constraints.
- NUL-bytes niet toegestaan in
scp(1) '-O filename'.
Nieuwe functies
- Nieuwe
ssh-add(1) optie -P om PIN-invoer over te slaan.
ssh(1) signaalafhandeling met readpassphrase(3) hersteld.
ssh(1) is overgestapt van supercop ed25519 naar libsodium.
ssh(1) TCPKeepAlive uitgebreid om forwardings te ondersteunen.
ssh-keygen(1) 'hexdump' toegevoegd om de key blob in hex-formaat te dumpen.
- Mogelijkheid toegevoegd om
ssh-keygen(1) touch-required/verify-required vlaggen in te stellen of te wissen op FIDO private keys bij het resetten van het wachtwoord.
ssh(1) '-Z user@host' modus toegevoegd om pubkeys te tonen die voor authenticatie geprobeerd zullen worden.
- Experimentele
ssh(1) ondersteuning voor het composite post-quantum mldsa44-ed25519 signature schema toegevoegd.
- Een explicit-seed variant van de
ssh(1) keygen functie toegevoegd.
- Signature malleability en pubkey validiteitscontroles toegevoegd aan
sshd(8) ed25519 verificatie.
Bugfixes
- Controle of
ssh(1) gecomprimeerde payloads niet verder opblazen dan de maximale payload lengte.
- Race tussen meerdere
ssh(1) processen die een multiplexing control socket opzetten, voorkomen.
- Geheugenlek in
ssh-add(1) (CID 913600) gedicht.
- Fixes voor
ssh(1) CIDs 913601 en 913602.
- Fix voor
ssh(1) CID 913600.
ssh(1) channel timeouts omgezet om fractionele en sub-seconde timeouts toe te staan.
ssh(1) masking signals gebruiken nu correct sigaddset.
ssh(1) memleaks hersteld (CID 913598 en 913599); ontbrekende puntkomma toegevoegd (CID 913599).
- Zomertijd-tijdstempel conversie door
ssh(1) gecorrigeerd.
ssh(1) proxy socket breakage in t-multiplex na recente pledge(2) wijzigingen hersteld.
- Het lezen van de server banner door
ssh-keyscan(1) blokkeert of bevriest niet langer bij een keyscan van veel hosts.
session-bind@openssh.com requests toegestaan wanneer de ssh(1) agent is vergrendeld.
- Potentiële realloc use-after-free in de
ssh(1) client voorkomen.
- Herordening van certificaten die geprobeerd worden tijdens
ssh(1) pubkey authenticatie.
ssh(1) ML-KEM/ECDH interop probleem hersteld.
- Enkele key
ssh(1) parsing en verificatiepaden verwijderd uit het pre-auth attack surface.
- Download naar server-gecontroleerde paden voorkomen bij
ssh(1) download via commandline.
- Mogelijke NULL deref in
ssh(1) voorkomen; bestandsnamen ontvangen via remote glob gesaniteerd.
- Grote refactoring van
sshd(8) configuratiebeheer code.
sshd(8) dwingt nu de domeinnaam ontvangen van de systeem resolver naar lowercase.
- Twee one-byte out-of-bounds reads in
sshd(8) hersteld.
- Striktere validatie van transport state overgedragen van het preauth naar het postauth
sshd(8) proces.
ssh(1) client use-after-free op error pad hersteld indien cipher_init() faalt.
ssh-agent(1) -V toegevoegd om versie te printen, bruikbaar om te testen of het binary functioneel is na relinking.
- Voorkomen dat
ssh(1) slechte cipher/mac lijst-argumenten als geldig valideert.
ssh(1) NULL deref tijdens pubkey auth hersteld.
- Dropbear heeft recent een -Q optie toegevoegd;
ssh(1) gebruikt deze nu om KEX te bevragen indien beschikbaar.
ssh(1) dynamic-tcpip kanalen nu geclassificeerd als bulk, niet interactief.
---
Poorten en pakketten
Er zijn veel vooraf gebouwde pakketten beschikbaar voor elke architectuur:
- aarch64: 12907
- amd64: 13060
- i386: 10659
- mips64: 9072
- powerpc64: 9564
- riscv64: 11116
- sparc64: 10621
Hoogtepunten:
- Asterisk 20.21.0 en 22.11.0
- Audacity 3.7.9
- CMake 4.3.5
- Chromium 154.0.8037.92
- Emacs 31.1
- FFmpeg 9.0.2
- GCC 16.1.0
- GHC 9.10.3
- GNOME 49
- Go 1.27.1
- JDK 11.0.32, 17.0.20, 21.0.12 en 25.0.4
- KDE Gear 26.08.1, Frameworks 6.30.0, Plasma 6.7.5
- Krita 6.0.3
- LLVM/Clang 21.1.8 en 22.1.8
- LibreOffice 26.8.0.3
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.8 en 5.5.1
- MariaDB 12.3.3
- Mono 6.14.1
- Mozilla Firefox 157.0 en ESR 153.4.0
- Mozilla Thunderbird 153.4.0
- Mutt 2.4.2 en NeoMutt 20260616
- Node.js 24.21.0 en Deno 2.9.7
- OCaml 4.14.2
- OpenLDAP 2.6.15
- PHP 8.3.33, 8.4.26 en 8.5.11
- Postfix 3.5.28 en 3.11.7
- PostgreSQL 18.6
- Prism Launcher 11.1.0
- Python 2.7.18 en 3.14.7
- Qt 5.15.19 (+ kde patches) en 6.11.2
- R 4.6.1
- Ruby 3.3.12, 3.4.11 en 4.0.7
- Rust 1.98.1
- SQLite 3.53.2
- Shotcut 26.8.1
- Sudo 1.9.17p2
- Suricata 7.0.7
- Tcl/Tk 8.5.19, 8.6.18 en 9.0.4
- TeX Live 2026
- Vim 9.2.1125, Neovim 0.12.5 en Vim-Classic 2026091
- Wayland 1.26.0 (met compositors CoW, Labwc, Mango, Niri, Sway en Wayfire)
- Vulkan 1.4.357.0
- Xfce 4.20.0
Er zijn zoals gebruikelijk gestage verbeteringen doorgevoerd in de handleidingen en overige documentatie.
Belangrijke externe componenten
Het systeem bevat de volgende belangrijke componenten van externe leveranciers:
- Xenocara: Gebaseerd op X.Org 7.7 met xserver 21.1.24 + patches, freetype 2.14.3, fontconfig 2.17.1, Mesa 25.0.7, xterm 410, xkeyboard-config 2.20, fonttosfnt 1.2.5 en meer.
- LLVM/Clang: 22.1.6 (+ patches)
- GCC: 4.2.1 (+ patches) en 3.3.6 (+ patches)
- Perl: 5.42.3 (+ patches)
- pkgconf: 3.0.7
- NSD: 4.15.2
- Unbound: 1.26.1
- Ncurses: 6.4
- Binutils: 2.17 (+ patches)
- GDB: 6.3 (+ patches)
- Awk: 20250116
- Expat: 2.8.4
- zlib: 1.3.2 (+ patches)
---
Installatie-instructies
Raadpleeg de volgende bestanden op de mirror-site voor uitgebreide details over hoe OpenBSD 8.0 op uw machine te installeren:
.../OpenBSD/8.0/alpha/INSTALL.alpha
.../OpenBSD/8.0/amd64/INSTALL.amd64
.../OpenBSD/8.0/arm64/INSTALL.arm64
.../OpenBSD/8.0/armv7/INSTALL.armv7
.../OpenBSD/8.0/hppa/INSTALL.hppa
.../OpenBSD/8.0/i386/INSTALL.i386
.../OpenBSD/8.0/landisk/INSTALL.landisk
.../OpenBSD/8.0/luna88k/INSTALL.luna88k
.../OpenBSD/8.0/macppc/INSTALL.macppc
.../OpenBSD/8.0/octeon/INSTALL.octeon
.../OpenBSD/8.0/powerpc64/INSTALL.powerpc64
.../OpenBSD/8.0/riscv64/INSTALL.riscv64
.../OpenBSD/8.0/sparc64/INSTALL.sparc64
Sneloverzicht voor ervaren gebruikers:
- OpenBSD/alpha: Boot vanaf CD via
install80.iso of cd80.iso.
- OpenBSD/amd64: Boot vanaf CD (
install80.iso / cd80.iso) of USB (install80.img / miniroot80.img). PXE-installatie is mogelijk. Raadpleeg INSTALL.amd64 voor dual boot.
- OpenBSD/arm64: Boot vanaf CD of via een systeem-specifieke miniroot op een SD-kaart via de seriële console.
- OpenBSD/armv7: Gebruik een systeem-specifieke miniroot op een SD-kaart via de seriële console.
- OpenBSD/hppa: Boot via het netwerk volgens de instructies in
INSTALL.hppa.
- OpenBSD/i386: Boot vanaf CD (
install80.iso / cd80.iso) of USB (install80.img / miniroot80.img). PXE-installatie mogelijk.
- OpenBSD/landisk: Schrijf
miniroot80.img naar het begin van de CF of disk en boot normaal.
- OpenBSD/luna88k: Kopieer
boot en bsd.rd naar een Mach of UniOS partitie.
- OpenBSD/macppc: Brand
install80.iso naar een CDROM en houd de C-toets ingedrukt tijdens het opstarten.
- OpenBSD/octeon: Boot
bsd.rd over het netwerk via DHCP/tftp na verbinding met een seriële poort.
- OpenBSD/powerpc64: Schrijf
install80.img of miniroot80.img naar een USB-stick en kies het OpenBSD-menu in Petitboot.
- OpenBSD/riscv64: Schrijf `install80.img
OpenBSD 8.0
Algemene Informatie
Voor een lijst met mirror-machines kunt u de informatie op de FTP-pagina raadplegen. Ga naar de directory pub/OpenBSD/8.0/ op een van de mirror-sites.
Voor een overzicht van bugs en tijdelijke oplossingen (workarounds) kunt u de errata-pagina voor versie 8.0 bezoeken. Voor een gedetailleerd logboek van de wijzigingen tussen de releases 7.9 en 8.0 is het changelog beschikbaar.
Publieke sleutels voor deze release (signify(1))
- openbsd-80-base.pub:
RWSMSt0erHTctUxq2JDAgQRo64ztikp8JvQeiSPte3NZ0Geou0TkTEiE
- openbsd-80-fw.pub:
RWRjzXzC89s1iQC9P3xgcdeN6OUoJz9t7ggTY0xBb1W8PfeOzAdwod66
- openbsd-80-pkg.pub:
RWRspL7ERnSFIscdEvBwVySymWNopP+CEZHbaB3IMJIt0bUXGBuIfUqC
- openbsd-80-syspatch.pub:
RWQAeCccO9yAASmUJSCJEW9C5WOP/GAsa5dhMtPPmb5pehzPO7EAmqhK
Alle toepasbare auteursrechten en credits bevinden zich in de bestanden src.tar.gz, sys.tar.gz, xenocara.tar.gz, ports.tar.gz, of in de bestanden die via ports.tar.gz zijn opgehaald.
---
Wat is er nieuw?
Dit is een gedeeltelijke lijst van nieuwe functies en systemen in OpenBSD 8.0. Voor een volledige lijst kunt u het changelog raadplegen.
Platformspecifieke verbeteringen
amd64
- De grootte van de virtuele adresruimte van de amd64-kernel is verhoogd van 4G naar 512G.
- De
pmap(9) direct map is nu op een willekeurige locatie geplaatst.
- Swap-encryptie is versneld door gebruik te maken van AES CPU-instructies.
arm64
- Toevoeging van hibernate-ondersteuning.
- Swap-encryptie is versneld door gebruik te maken van AES CPU-instructies.
- Implementatie van bounce buffers.
luna88k
- Oplossing voor m88k meerdere CMMU-register schrijfacties.
- Uitbreiding van de m88k kernel-mode CMMU fault-afhandeling om write protection faults te verwerken.
- Gegarandeerd dat
luna88k m8820xinitializecpu() logische CPU #0 initialiseert op non-MP kernels.
- Snellere CMMU walk in
luna88k m8820xcpunumber().
riscv64
- Detectie van CPU-extensies en communicatie hiervan naar de userland via
elfauxinfo(3) ATHWCAP en ATHWCAP2 queries.
- Kernel-ondersteuning toegevoegd voor de 'V' vector extensie.
- Implementatie van bounce buffers.
- Toevoeging van ondersteuning voor RISC-V Advanced Interrupt Architecture; toevoeging van
imsic(4) en aplic(4) drivers.
- Kernel-ondersteuning toegevoegd voor de Sstc timer extensie.
sparc64
- Toevoeging van een bounds check voor de sparc64 relocation flags tabel.
- Overstap van sparc64 naar de LLVM toolchain.
- Verbeterde geheugenuitlijning op SPARCV9.
Overige architecturen
- Ondersteuning voor de loongson-architectuur is beëindigd (werkt niet met Clang 22).
- Diverse RISC-V en MIPS bugfixes voor LLVM.
- Correctie van de codering van hppa protection bits.
Algemene kernelverbeteringen
- Correctie van de geheugengrootteberekening in
open_wmemstream(3).
- Oplossing voor
semop(2) semaphore-id die werd vernietigd/vervangen tijdens een context switch.
- Verbeterde heuristiek voor de inactive page queue voor
pagedaemon bij het swappen van pagina's of vrijgeven van geheugen.
- Toevoeging van
getexecpath(3) om een kopie van het uitvoeringspad van het elf(5) programma te leveren.
- Verdere voorbereidingen voor grotere disklabels.
Ondersteuning voor Slaapstand en Hibernatie
- Suspend/resume ingeschakeld voor
qwz(4).
ufshci(4) is nu bestand tegen een suspend op de Samsung Galaxy Book4 Edge en HONOR MagicBook Art 14 Snapdragon.
- Voorkomen dat een laptop wordt gewekt wanneer het scherm gesloten is en
machdep.lidaction=0.
- Toevoeging van een globale sleep mode variabele om hibernatie te onderscheiden van een 'normale' suspend.
- Toevoeging van suspend/resume ondersteuning voor
qcuart(4).
- Toevoeging van ondersteuning voor wakeup-interrupts aan
bytgpio(4), wat problemen met het hervatten van de IdeaPad na suspend oplost.
- Validatie van de grootte van chunks die naar piglet worden gekopieerd tijdens het uitpakken van het disk-image bij hibernatie.
- Validatie van on-disk image grootten tegen integer overflow bij het lezen van chunks in unhibernate.
- Voorkomen van disk-image overreads bij het lezen van de chunktable in unhibernate.
- Opschonen van de framebuffer na unhibernate.
- Fouten bij het alloceren van een dedicated queue voor
nvme(4) hibernate-ondersteuning zijn niet langer fataal.
Direct Rendering Manager (DRM) en grafische stuurprogramma's
drm(4) bijgewerkt naar Linux 6.18.53.
- Ondersteuning voor Intel Arc A-Series (DG2/Alchemist) videokaarten in
inteldrm(4).
- De verhoogde virtuele adresruimte van de kernel op amd64 maakt het mogelijk om meer dan 4GB aan VRAM te mappen.
- Workaround in
inteldrm(4) voor GuC timeout-fouten waargenomen op sommige Alder Lake-systemen.
VMM/VMD verbeteringen
- Toevoeging van MP-ondersteuning voor maximaal 64 VCPUs per gast-VM.
- Herontwerp om bestanden te gebruiken voor het beheren van VM-eigendom.
- Toevoeging van x2apic-modus ondersteuning voor gast-virtuele machines.
- Fix voor situaties waarin
vmd(8) de kernel bij opstarten niet detecteert.
- Het leveren van de faulting GPA aan
vmd(8) voor MMIO-exits vanuit vmm(4).
- Refactoring van
vmm(4) exit-afhandeling en correctie van RIP-aanpassing.
- Toevoeging van ondersteuning voor instructies van variabele lengte in VMX-paden naar
vmm(4).
- Voorkomen van OOB-reads door
vmd(8) in 32- en 64-bit elf(5) loaders bij malformed elf(5) bestanden.
- Implementatie van ontbrekende lapic/ioapic-modi om
vmd(8) ondersteuning voor 32-bit linux-gasten te herstellen.
- Toevoeging van checksum offload voor
vmd(8) gasten.
- Ondersteuning voor MSI/MSI-X virtio device interrupts toegevoegd.
- Daadwerkelijke ondersteuning voor split split-virtqueues in
vmd(8).
- Toevoeging van i82093aa ioapic en i82489dx-compatibele lapic emulatie aan
vmd(8).
- Verbeterde qcow-afhandeling.
Nieuwe Userland-functies
netstat(1) kan nu de interface multicast-teller printen; de -q optie is specifieker gemaakt.
- Aanpassing van de standaard
ps output in ddb(4), waarbij struct process en struct proc apart worden geprint.
mount(8) ondersteunt nu DUIDs met -u; DUID wordt behouden bij het bijwerken van het bestandssysteem.
- Implementatie van controle over midithru-poorten met
sndioctl(1).
- Lijstelementen kunnen nu worden toegevoegd of verwijderd via
sndioctl(1).
- De
sndiod(8) server.mode controle is nu dynamisch en wijzigbaar via sndioctl(1).
Bugfixes en aanpassingen in Userland
- Gegarandeerd dat de
elf(5) header en program header in de shared library passen tijdens het laden.
- Oplossing voor lek van sleutelgeheugen in
getpwent(3) yp_next().
- In
patch(1) is een oneindige loop bij malformed ed(1) script-input opgelost.
- Gebruik van
execv(3) absolute-path in authpf(8), pflogd(8), ldapd(8), ldpd(8), lpd(8), radiusd(8), snmpd(8).
uaudio(4) test nu of het gerapporteerde formaat en de kanalen bruikbaar zijn.
- Voorkomen dat
sndiod(8) afbreekt als een MIDI-endpoint verbindt met niet-lege buffers.
- Twee ontbrekende controles van de
file_new() returnwaarde in sndiod(8) hersteld.
- Correctie van
npppd(8) LCP MRU-optie afhandeling.
pstat(8) is aangepast om het pid van het session leader-proces terug te geven; -t -M werkt nu.
eigrpd(8) valideert nu de prefixlen om overflow te voorkomen.
sndiod(8) alloceert nu alle midithru-structuren op de heap.
Hardwareondersteuning en driver bugfixes
- Het GXTP7936 touchscreen op de Samsung Galaxy Book4 Edge is ingeschakeld.
- Ondersteuning toegevoegd voor de riscv64 K3 PCIe/USB3 combo PHY.
gpioleds(4) ingeschakeld op riscv64.
- In
smte(4) (SpacemiT K1 Ethernet device) is de foutcontrole van ontvangen pakketten verbeterd.
- Reguliere MSI-interrupts op de SpacemiT K1 SoC hersteld.
- Ondersteuning voor de SpacemiT K3 SoC toegevoegd aan
smtclock(4).
- SC7280 ondersteuning toegevoegd aan
qcgpio(4).
- Ondersteuning toegevoegd voor de SpacemiT K3
dwpcie(4) PCIe-controller.
- Toevoeging van RK3528 I2C5 clock, gebruikt in de Radxa E24C.
- ACPI hardware IDS toegevoegd voor Qualcomm Glymur (X2) SoC.
- Implementatie van page table mirroring in
apldart(4); IOMMU ingeschakeld voor Apple USB-controllers.
- Nieuwe
samsabi(4) driver voor de Samsung Advanced BIOS Interface (SABI).
- Nieuwe
sambat(4) driver voor de Samsung laptop battery monitor.
- Nieuwe
rkotp(4) driver voor Rockchip OTP-geheugen.
- Ondersteuning toegevoegd voor de RK8600 regulator gebruikt voor CPU-spanning op Radxa Zero 3 boards.
- Meer AMD "Krackan Point" device ids toegevoegd.
- Multitouch-ondersteuning voor de HONOR MagicBook Touchpad hersteld.
- FIFO-geheugen overflow in
esp(4) hersteld.
- Potentieel geheugenlek in
softraid(4) rebuild opgelost.
softraid(4) rebuild hersteld op schijven met 4096-byte sectoren.
- High memory mbufs hersteld voor 64-bit DMA-compatibele
re(4).
Netwerkhardware-ondersteuning
- Ondersteuning voor Panther Lake en Wildcat Lake Ethernet-apparaten toegevoegd aan
em(4).
- Ondersteuning voor Intel E610 Ethernet-apparaten toegevoegd aan de
ix(4) driver.
Draadloze netwerkdrivers
- Correcte afhandeling van lege pakketten teruggegeven door
qwx(4) hardware.
- Ontbrekende DMA syncs toegevoegd voor
qwx(4) SRNG DMA descriptor geheugen.
- Correcte afhandeling van
qwx(4) VIF DMA map allocatie-fouten bij attach.
- Crashes veroorzaakt door verouderde pointers op de
qwx(4) vif-lijst opgelost.
- Correcte reset van
qwx(4) driver en device state als het niet in RUNNING komt in qwx_init().
- Race condition in
qwx(4) device tijdens power-on voorkomen.
- Correct gebruik van de ioctl rwlock in
qwx(4) qwx_activate().
- Gegarandeerd dat
qwx(4) rxring->bufsmax en freemap altijd correct zijn geïnitialiseerd.
- Voorkomen dat
qwx(4) init task wacht tot de ioctl lock beschikbaar is.
- Fouten die optreden in
qwx(4) qwxqmifwinitdone() worden nu correct afgehandeld.
- Roaming tussen AP's met
qwx(4) hersteld.
- Data frame interrupts in
qwx(4) altijd toegestaan terwijl de interface UP is.
- Ondersteuning voor 40MHz kanalen toegevoegd aan
qwx(4).
qwx(4) alloceert nu alleen een nieuwe mbuf wanneer er een vrije Rx ring slot beschikbaar is.
- Voorkomen dat
busdmamapcreate() vanuit interrupt context in qwx(4) wordt aangeroepen.
- Country code events verzonden door
qwx(4) firmware worden nu afgehandeld om associatie betrouwbaarder te maken.
- Reset van de
qwx(4) command ring 'queued' counter wanneer de command ring wordt gereset.
- Gegarandeerd dat
qwx(4) nq-flags altijd worden gewist bij het wisselen van net80211 state.
- Aantal tx/rx streams in
qwx(4) mac config gecorrigeerd.
qwx(4) verzendt nu de PMF good-bye deauth frame bij het verlaten van de RUN state.
- Voorkomen dat nieuwe taken worden ingepland terwijl IFFRUNNING in
qwxstop() staat (voorkomt qwz(4) crash).
qwx(4) geeft nu de voorkeur aan ic_bss boven de ephemeral node in de scan tree.
- Peer wordt aan de
qwx(4) firmware toegevoegd ná het starten van de vdev, niet ervoor (voorkomt firmware crash).
- 802.11n ondersteuning toegevoegd aan
qwx(4); HT-mogelijkheden worden geadverteerd en HT/QoS peer associatie wordt doorgegeven.
qwx(4) firmware wordt gevraagd naar M3-status te gaan voordat het apparaat wordt gereset.
- Voorkomen dat
busdmamapdestroy() vanuit interrupt context in qwx(4) wordt aangeroepen.
- 802.11n met 40MHz breedte toegevoegd aan
qwz(4).
qwz(4) handelt nu QoS af in native WiFi-frames.
Installer, upgrade, bootloader en pkg-tools
- Harmonisatie van
installurl(5) afhandeling in pkg_add(1), sysupgrade(8) en syspatch(8).
- Vrije ruimte controle door
fw_update(8) voor niet-gekwalificeerde bestandsnamen hersteld.
- Limiet ingesteld op de grootte van bestanden die
fw_update(8) kan downloaden.
- Striktere validatie in
fw_update(8) om onbetrouwbare comments niet langer als data te behandelen.
pkg_add(1) detecteert en overwint nu sommige oneindige loops met merge-sets.
- Trailing slashes verwijderd uit
fw_update(8) FWURL.
- Huidige directory verwijderd uit het standaard
pkg_add(1) zoekpad.
- Verbeterd downloaden van firmware op bestandsnaam in
fw_update(8).
- Verbeterde foutmelding in
fw_update(8) wanneer SHA256.sig niet wordt gevonden.
fw_update(8) controleert nu de signatuur van de lokale SHA256.sig.
- In
fw_update(8) slaat tar(1) bestanden buiten de verwachte locaties over.
- Voorkomen dat
syspatch(8) het volledige tgz-bestand downloadt bij het zoeken naar een mogelijke update.
Beveiligingsverbeteringen
pledge(2) in vfs(9) hersteld.
- Out-of-bounds toegangspogingen op
aplmca(4) SOCs opgelost.
- Stopgezet gebruik van non-standard UIDMAX en GIDMAX in diverse utilities.
ipsec(4) AES GMAC crypto verbeterd.
iked(8) wijst nu malformed en out-of-state IKEv2-berichten af.
- Memleak in
x509_verify (CID 656293) gedicht.
- Overflow in
sysctl(2) KERNPROCARGS voorkomen.
- Voorkomen dat foutieve of maliciouse iaddr-data
dhcpd(8) doet crashen.
- Potentiële geheugenuitputting via DHCPINFORM in
dhcpd(8) voorkomen.
- Correct gebruik van
saltlen en min_saltlen in libcrypto RSA-PSS.
- Ongeldige delta CRLs in libcrypto x509 worden nu afgewezen.
- RFC 3779 overervingsafhandeling in de path-validatie van libcrypto hersteld.
- Gebruik van
execve(2) als $ORIGIN in ld.so(1) (anders fallback naar realpath).
syspatch(8) versterkt tegen maliciouse scripts.
- Beperking van tekens die toegestaan zijn via
smtpd(8) environment en mda.
- Lezen voorbij de NUL door
pax(1) hersteld.
- Voorkomen dat
pax(1) maliciouse archieven buiten de werkomgeving uitpakt.
- 'mcast' toegevoegd aan de
pledge(2) voor lldpd(8).
pledge_sockopt() level/optname controles aangescherpt voor verschillende types sockets.
- 'mcast'
pledge(2) uitgebreid om multicast-aanpassingen op Ethernet frame sockets toe te staan.
- Libexpat bijgewerkt naar versie 2.8.4 (CVE-2026-66046, CVE-2026-76641, CVE-2026-76957).
- Script pathname TOCTOU in
exec voorkomen wanneer de vnode verandert.
execve(2) realpath-verwerking robuuster gemaakt.
luna88k overgeschakeld naar het bouwen van kernel-bestanden met -fno-pie.
- Unprivileged kernel memory read/write kwetsbaarheid in m88k 88100 data pipeline verwijderd.
unveil(2) beperkt nu de lees- en schrijftoegang voor man(1), makewhatis(8) en man.cgi(8).
dhcpleased(8) valideert nu het IP-adres dat de DHCP-server bevestigt.
- Signed integer overflow in
perl(1) Storable hersteld (CVE-2026-57433).
- Integer overflow in
perl(1) pack en unpack hersteld (CVE-2026-57432).
- Onjuiste reguliere expressie matches in
perl(1) hersteld (CVE-2026-13221).
- Geheugenlekken en race condition in
profil(2) hersteld.
- Controle van
elf(3) notes verbeterd; out-of-bounds toegang voorkomen.
elf(3) interpreters zonder loadable segments worden nu afgewezen.
kbind(2) en pinsyscalls(2) uitgeschakeld voor statische binaries binnen execelfmakecmds().
elf(5) structs aangepast om lekken van kernel stack-inhoud te voorkomen.
- LibXfont 2 fixes voor CVE-2026-56001, CVE-2026-56002 en CVE-2026-56003.
- Xserver(1) fixes voor CVE-2026-55999 en CVE-2026-56000.
perl(1) Socket bijgewerkt naar 2.041 (bevat fix voor CVE-2026-12087, out-of-bounds heap read).
iked(8) hersteld om bzero(3) te gebruiken voor de mask data structuur in plaats van mask4.
- Fixes voor CVE-2026-12244, CVE-2026-12245, CVE-2026-12246 en CVE-2026-12490 in
nsd(8).
- Lek van transport in
isakmpd(8) error-paden van udpencaphandle_message() gestopt.
- Per-type ID payload grootte afgedwongen in
isakmpd(8) ipsecvalidateid_information().
- Shift overflows in
memmem(3) en strstr(3) voorkomen.
- Meerdere aanvullende bounds checks in
isakmpd(8).
- Een apart uitvoerbaar bestand geleverd voor de
syslogd(8) parent voor privilege separation.
smtpd(8) wist nu userinfo voordat dit via imsg wordt verzonden.
smtpd(8) wijst nu oversized sockaddr payloads af die via privsep IPC worden ontvangen.
- Tijdelijke
smtpd(8) envelope parsing buffers worden genuld voor gebruik om privsep te versterken.
- Openstaande asynchrone lookups worden bij teardown gewist voor sterkere
smtpd(8) privsep.
- Potentieel informatielek van een niet-geïnitialiseerde
ktrace(1) stack variabele hersteld.
Nieuwe functies in de netwerkstack
ice(4) link state ingesteld op full duplex.
- Maximum TSO segs in
ice(4) verminderd, zodat meer interfaces kunnen worden toegevoegd.
- Gebruik van 128 DMA-segmenten voor TSO-pakketten op
ice(4) ingeschakeld.
- 64-bit DMA ingeschakeld voor
bge(4) BCM5720.
- Jumbo frames ingeschakeld in
ogx(4).
Aanvullende wijzigingen en bugfixes in de netwerkstack
- Voorkomen dat
ipsec(4) de maximale pakketgrootte in de IP-header overschrijdt.
- Out of bound reads door een int overflow in de
bpf(4) bpf_mem backends gedetecteerd.
bpf(4) voor uitgaande pakketten later in het verzendpad geplaatst.
- Geheugenlekken voorkomen wanneer mbuf chain allocaties mislukken in
tun(4) tundevwrite().
hardmtu en rxmax in ixl(4) hersteld.
- Dynamische wijzigingen in kanaalbreedte correct afgehandeld in
iwx(4).
bpf(4) bpffilter versterkt; niet-afgehandelde instructies worden geblokkeerd met bpfvalidate.
- Correcte program bound checks toegevoegd aan de
bpf(4) engine (libpcap CVE-2026-31912).
- BPF filter calls in
ppp(4) hersteld; gebruik van bpf_mfilter(9).
imsg afhandeling van LSUPD, LSFLOOD en LS_SNAP in ospfd(8) verbeterd.
ospfd(8) imsg afhandeling gewijzigd.
ospfd(8) voegt nu ontbrekende rtlabel referenties toe en werkt routes bij wanneer alleen het label verandert.
- Geconfigureerd interfacetype behouden bij
ospf6d(8) link update.
- Gegarandeerd dat
ospfd(8) geen informatie over de geheugenadres-indeling lekt vanuit het proces.
authpf(8) read_config() verwijdert nu trailing white space om misconfiguraties te voorkomen.
- Lek van kernel stack data in
veb(4) SIOCBRDGRTS en SIOCBRDGVRTS ioctls hersteld.
- Pakketcorruptie in
veb(4) opgelost.
veb(4) geeft nu ENOMEM terug wanneer mallocarray() mislukt in vebrulelist_get().
ifconfig(8) 'vebX -tagged ifX' hersteld, wat voorheen te veel argumenten accepteerde.
em(4) K1 exit timeout verbeterd om non-broadcast pakketten te ontvangen.
- MAC-type tests op
em(4) vereenvoudigd.
Wijzigingen in de pf(4) firewall
- Off-by-one in
pf(4) ioctl DIOCIGETIFACES hersteld.
- De ruleset van de
pf(4) caller wordt niet langer vrijgegeven wanneer het toevoegen van een tabel mislukt.
- Niet-afgesloten strings in
pf(4) ioctls worden niet langer toegestaan.
- Voorkomen dat
pf(4) geldige MLD-pakketten met een ongespecificeerd bronadres weggooit.
- Voorkomen dat
pf(4) de TCP-status weggooit bij ontvangst van een vervalst reset-pakket.
- Races in
pf(4) connectie-tellers die leidden tot underflows opgelost.
- Fragment-reassembly in
pf(4)/inet(4)/inet6(4) vindt nu plaats in het correcte routingdomein.
- Voorkomen dat 'pfctl -s all' alle geladen OS-fingerprints naar
pf(4) dumpt.
- NULL pointer dereference in
pf(4) outbound packet path hersteld.
- Out-of-bounds read in
pf(4) pfrulecopyin() hersteld.
Routing-daemons en overige netwerkprogramma's in userland
- Code in
smtpd(8) gewijzigd om valse bug-rapporten van LLM-scanners te voorkomen.
size_t underflow bij malformed pakketten in agentx(3) en snmpd(8) voorkomen.
- Server-flags van
httpd(8) uitgebreid naar 64-bit integers.
httpd(8) dwingt nu 'max request body' af voor chunked requests die naar fastcgi worden doorgegeven.
httpd(8) wijst nu configuraties van gedeelde TLS-listeners met verschillende client CA of CRL af.
httpd(8) verzendt nu één imsg fastcgi param struct per parameter om de configuratievolgorde te behouden.
- Ondersteuning voor custom HTTP-headers toegevoegd aan
httpd(8).
- Suffix range afhandeling in
httpd(8) hersteld.
- Voorkomen dat
httpd(8) location fcgiparams tweemaal verzendt.
httpd(8) voert nu abort-responses af via bufferevent om te voorkomen dat fouten worden afgekapt.
IMSGCTLPROCFD beperkt tot de parent en controleert proces-id/instance in iked(8), httpd(8), relayd(8) en snmpd(8).
- Standaard TLS-cipher in
httpd.conf(5) gewijzigd van 'compat' naar 'secure'.
httpd(8) en dhcpd(8) controleren nu correct op fouten bij timegm(3).
- Random-relink van
smtpd(8) en httpd(8) bij opstarten.
httpd(8) wijst nu CL.TE request framing af (conform RFC 9112 secties 6.1 en 6.3).
httpd(8) wijst nu obs-fold af met een 400-fout (RFC 9112 5.2).
- Uploads via
httpd(8) chunked transfer-encoding hersteld.
httpd(8) adverteert nu Vary: Accept-Encoding wanneer gzip-static is ingeschakeld.
httpd(8) adverteert nu statische bestand-revalidatie, waarbij Last-Modified en If-Modified-Since flow behouden blijven.
- Meer configuratiecontroles toegevoegd aan
relayd(8).
relayd(8) redirect rules worden nu expliciet geflusht na het herladen.
- Verkeerde disable-flag voor routers in
relayd(8) verwijderd.
- Gebruik van een per-host random ICMP echo id in
relayd(8).
- Ondersteuning voor Lua-patronen(7) toegevoegd voor
relayd(8) filter-rules; documentatie voor glob(7) verbeterd.
- Gebruik van
getexecpath(3) en execv(3) in bgpd(8), eigrpd(8), httpd(8), iked(8), ntpd(8), relayd(8) en smtpd(8).
- Log voor uitgestelde connecties in
relayd(8) hersteld.
relayd(8) controleert nu de returnwaarden van proccompose en imsgcompose_event.
- Log-niveau instelbaar via
relayd.conf(5).
- ECDSA-ondersteuning toegevoegd aan de
relayd(8) CA privsep-engine.
relayd(8) wijst nu dubbele Content-Length headers af met een 400-fout.
- Standaard TLS-cipher in
relayd.conf(5) gewijzigd van 'HIGH:!aNULL' naar 'secure'.
relayd(8) is overgestapt naar de nieuwe imsg API.
relayd(8) verwijdert nu Content-Length voor chunked berichten (RFC 9112 sectie 6.1).
relayd(8) wijst nu obs-fold af om parser-verschillen te voorkomen (RFC 9112 5.2).
X509dup() call in relayd(8) die geheugen lekte verwijderd; foutcontroles toegevoegd voor X509set_*.
- Ondersteuning voor de MKCALENDAR HTTP-methode toegevoegd in
relayd(8).
- Debug build van
relayd(8) hersteld.
relayd(8) ondersteunt nu meerdere resolvable adressen.
relayd(8) handelt nu HTTP-responsen zonder body af.
- NULL-dereference in
isakmpd(8) messageallocreply() callers hersteld.
- Mogelijke niet-uitgelijnde 32-bit read door
isakmpd(8) hersteld.
- SPI-array grootte van
isakmpd(8) DELETE payload gevalideerd.
- Proposal en transform grootten in
isakmpd(8) gevalideerd.
- Lengtecontroles toegevoegd voor de Port-Message en State attributen in
login_radius(8) Access-Challenge.
- Voorkomen dat de
dhcpleased(8) engine een negatief aantal routes verzendt.
dhcpleased(8) accepteert nu het correcte aantal routes van de engine-proces.
- Gegarandeerd dat het UDP-header lengteveld van
dhcpleased(8) ten minste de UDP-header bestrijkt.
smtpd(8) mask-src uitgebreid om sessiedetails te onderdrukken.
smtpd(8) is overgestapt naar imsgbuf_get(3).
- Dispatcher in
smtpd(8) mdaenvelopefree() vrijgegeven om een lek te voorkomen.
smtpd(8) wijst nu lege of met slashes voorzien gebruikersnamen af voordat het mbox-pad wordt gebouwd.
smtpd(8) wijst nu CR/LF in argv-afgeleide velden af voordat de SMTP enqueue-dialoog start.
- Gekopieerde envelope in
smtpd(8) smarthost lookup failure pad correct vrijgegeven.
mdasubaddress in smtpd(8) mdaenvelope_free() correct vrijgegeven om geheugenlek te voorkomen.
smtpd(8) gebruikt nu inflateEnd() om de inflate-stream in uncompressgzipchunk() te beëindigen.
smtpd(8) stopt nu met het parsen van DNS-antwoorden zodra unpack_rr() een fout rapporteert.
- Versleutelde
smtpd(8) queue-buffer grootten gevalideerd voordat auth tag en IV-data worden verwerkt.
- Import van
rtrd(8) RPKI-To-Router protocol daemon en rtrctl(8).
Wijzigingen in acme-client(1)
- Wildcards kunnen nu worden gespecificeerd in alternatieve namen in de
acme-client(1) configuratie.
acme-client(1) wist nu optarg/eab/eab_key met freezero(3) na gebruik.
- Foutcontrole voor
strdup() bij externe accountbinding in acme-client(1).
- HTTP request injectie in
acme-client(1) voorkomen.
acme-client(1) handelt nu '=' padding in base64url gecodeerde EAB-sleutels af.
timegm(3) aanroepen in acme-client(1) hersteld.
- Ondersteuning voor externe accountbinding toegevoegd aan
acme-client(1).
Wijzigingen in bgpd(8)
bgpd(8) graceful restart timer afhandeling voor multi-AFI/SAFI sessies aangepast.
bgpd(8) voert nu een prefix-herwaardering uit als de validatiestatus van een route verandert.
bgpd(8) NEXTHOPCONNECTED in nexthopupdate() gewist als msg->connected onwaar is.
bgpd(8) knijpt nu reads van de peer af wanneer MSGPROCESSLIMIT is bereikt.
bgpd(8) aspatableequal() gelijkheidsvergelijking hersteld.
- Nieuwe RTR v2 foutcodes uit draft-ietf-sidrops-8210bis-26 geïntegreerd in
bgpd(8).
bgpd(8) IdleHoldTimer en de snelheid van reconnects herontworpen.
- De
force_update logica in de bgpd(8) adj-rib-out herontworpen.
- Voorkomen dat
bgpd(8) peer-data lekt naar bgpctl(8).
chmetalocate() geïmplementeerd in bgpd(8).
- De
bgpd(8) pathidtx hack voor reguliere peers hersteld.
mrtdumpentry_mp() berekening in bgpd(8) verbeterd om overflow te voorkomen.
- Oneindige loop bij het parsen van PFKEY-antwoorden in
iked(8), isakmpd(8), bgpd(8) en ldpd(8) voorkomen.
bgpd(8) garandeert nu dat het nexthop-attribuut aanwezig is als er nlri-data is.
bgpd(8) faalt niet langer hard bij een versie-mismatch; extra end-of-params berichten worden genegeerd.
- Afhandeling van onbekende extended communities in
bgpd(8) verbeterd.
- De
bgpd(8) MRT-attribuutbuffer verhoogd naar MAXEXTPKTSIZE zodat deze in alle gevallen werkt.
- Use-after-free in
bgpd(8) rib_remove en parse.y hersteld.
bgpd(8) forceupdate flag toegevoegd om pendprefixadd() calls in adjoutprefix_update() af te dwingen.
bgpd(8) respecteert nu de RTR min-version in het downgrade-pad en sluit de verbinding correct af.
bgpd(8) add-path send parser verbeterd. Geeft een fout indien max wordt gebruikt met best.
- Afhandeling van limieten in
bgpd(8) upgenerateaddpath() aangepast.
- Extended message capability toegevoegd aan checks voor wat de
bgpd(8) peer heeft ingeschakeld.
bgpd(8) geeft nu een fout terug bij onafgehandelde imsg types in het adj-rib-out geval.
bgpd(8) poortconfiguratie op little endian systemen hersteld.
- Extra groottecontroles voor
bgpd(8) ibufsetmaxsize().
- MAXADDPATHCOUNT (ingesteld op 100) geïntroduceerd en gebruikt voor de
bgpd(8) add-path.
- In
bgpd(8) mergepeers() wordt nu ook localbgpid ingesteld voor gekloonde peers, niet alleen voor reguliere peers.
- Loop-tellers in
bgpd(8) omgezet van uint8t naar uint.
- Maximum configureerbare stale time in
bgpd(8) verminderd tot CAPAGRTIMEMASK (4095).
bgpd(8) sessiongracefulrestart() activeert nu ook de SessionDown timer.
bgpd(8) controleert nu xp->rdesession om te weten of de RDE de sessie draaiend heeft.
pathcalchash() in bgpd(8) verbeterd.
- 'treat as withdraw' afhandeling voor ongeldige
bgpd(8) ORIGIN attributen hersteld.
- Twee geheugenboekhoudingsproblemen in
bgpd(8) chash hersteld.
- Aanvullende controles op TLV-codering in
bgpd(8).
- Alle
bgpd(8) ASPATH attributen beperkt tot 750 elementen.
- In
bgpd(8) overflow van de uint8t lengtewaarde in attroptadd voorkomen.
bgpd(8) prefixes opnieuw evalueren als alleen PREFIXFLAGFILTERED is gewijzigd.
Wijzigingen in rpki-client(8)
rpki-client(8) hersteld om buffer overreads met OpenSSL 4.1 te voorkomen.
rpki-client(8) wijst niet-conforme certificate subject coderingen af.
rpki-client(8) controleert nu de uitlijning van certificate CRLDPs met de verwijzende Manifest.
rpki-client(8) cmsparsevalidate() herontworpen.
- Afhandeling van overgeërfde resources in leaves door
rpki-client(8) hersteld.
- Alle signed object parser-functies in
rpki-client(8) unified.
rpki-client(8) waarschuwt nu onvoorwaardelijk over onjuiste RSA-parameters; sommige malformed ROA's worden afgewezen.
- Bereik van delta's die aan de
rpki-client(8) wachtrij worden toegevoegd beperkt.
- Consistente statussen in persistente
rpki-client(8) HTTP-verbindingen gegarandeerd.
- Verschil in gedrag tussen
rpki-client(8) versies met en zonder gbr ondersteuning verwijderd.
- Mogelijke exit race in de
rpki-client(8) parser hersteld.
rpki-client(8) registreert NCA-geschiedenis nu alleen bij succesvolle runs.
rpki-client(8) genereert configuratiebestanden nu alleen bij een succesvolle run.
rpki-client(8) retries van niet-functionele CA's gebundeld op basis van hun rsync base URI.
- Beperkingen correct toegepast op
rpki-client(8) BGPsec Router certs.
rpki-client(8) skiplist, shortlist en NCA retry afhandeling gededupliceerd.
- Onjuiste free in
rpki-client(8) ncahistload() verwijderd.
- In
rpki-client(8) certcasia() wordt nu de correcte notify-string in de foutmelding gebruikt.
- Dubbele fclose in een success-pad in
rpki-client(8) verwijderd.
- Coinflip toegevoegd om cycle-to-cycle jitter in
rpki-client(8) te vergroten.
- Backoff retry mechanisme voor niet-functionele CA's toegevoegd in
rpki-client(8).
rpki-client(8) wijst nu certs met dubbele extensie OID's af.
last_modified gewist na elke respons op een persistente HTTP rpki-client(8) verbinding.
- Subordinates in CCR manifests in
rpki-client(8) omgezet naar een eenvoudige wachtrij.
rpki-client(8) sluit nu verborgen bestanden en directories uit bij synchronisatie via rsync.
- Lengte van bestandsnamen in sommige ASN.1 velden in
rpki-client(8) beperkt tot 255.
- Onvolledige
strncmp() check in rpki-client(8) hersteld.
- Off-by-one in
rpki-client(8) ipaddrcheck_overlap() hersteld.
- Shortlist en skiplist checks in
rpki-client(8) hersteld.
- Meer foutcontroles en waarborgen toegevoegd aan
rpki-client(8).
Verbeteringen en bugfixes in tmux(1)
- Scrollpositie in tree-modus behouden wanneer de lijst wordt herbouwd (issue 5631).
- Voorkomen dat wachtende clients (in wait-for) lekken als ze worden gedood (issue 5614).
- Markering niet annuleren wanneer een klik op de rand plaatsvindt.
- Ondersteuning toegevoegd voor randloze menu's, zoals panes.
- utf8 terminal-features toegevoegd.
- Focus-events eerder negeren om interferentie met prefix te voorkomen.
-K flag toegevoegd aan new-pane om een modale pane alle toetsen te laten vastleggen.
- Altijd unzoomen vóór het splitsen van vensters, inclusief voor floating panes.
- 'T' toegevoegd om de pane-titel te wijzigen.
refresh-now commando toegevoegd.
- Ms negeren als deze ongeldig is (bijv. geen %p1), rapporteert in client-modus.
- Crash bij synchronisatie van groepen wanneer er geen huidig venster is, hersteld.
paneprivatemodes formaat toegevoegd met een lijst van DEC private modes.
- Core dumps bij opstarten op landisk voorkomen.
- Modale panes toegevoegd, momenteel gemaakt met
new-pane -O.
- Grote herziening van prompts.
- Cursorberekening hersteld wanneer de statusregel bovenaan staat.
-H flag toegevoegd aan capture-pane om hyperlinks te tonen.
-L toegevoegd om regelnummers te tonen met capture-pane, en -F voor regel-vlaggen.
- Volledige regels wissen bij het verwijderen uit geschiedenis of vrijgeven.
- Volledige sessie opnieuw tekenen bij het maken van een nieuwe pane.
-g flag toegevoegd aan kill-session om alle sessies in een groep te doden.
- Crash bij het vrijgeven van layout cell hersteld.
- Ontbrekend argument toegevoegd aan
%unlinked-window-renamed.
- Escape-vertraging verhoogd als de buffer een gedeeltelijke paste-eind bevat.
- Crash veroorzaakt door het opnemen van niet-gekoppelde clients op een gesorteerde lijst hersteld.
new-pane commando toegevoegd.
- Oneindige loop door underflow bij het opnieuw tekenen van de scrollbar hersteld.
- Teardown-volgorde voor queued pane output in control-modus hersteld.
- Emacs-stijl re-centre-top-bottom toegevoegd.
- Tijdslimieten toegevoegd aan sommige loops.
- Ontbrekende vlaggen toegevoegd aan
screenmodeto_string.
LibreSSL versie 4.4.0
Portable wijzigingen
- Talloze compatibility layer fixes voor AIX, FreeBSD, macOS, MinGW, NetBSD, en vooral Windows.
- Incorrecte codegeneratie door de MSVC ARM64 optimizer in constant-time bignum code hersteld.
- Assembly-ondersteuning op veel platforms verbeterd.
openssl(1), nc(1) en ocspcheck(8) hersteld zodat ze niet langer stilzwijgend draaien zonder pledge(2) en unveil(2) op hosts die deze bieden.
Interne verbeteringen
- Kleine code-opschoonactie voor PKCS#7.
- Ongebruikte bits gewist voor het maximum van RFC 3779 IP-adres ranges.
- Opschoonacties in de DTLS-code om veel omwegen te voorkomen.
failure_key in ML-KEM code genuld.
- Portabiliteit in preprocessor-gebaseerde SHA assembly verbeterd.
- Enkele overbodige
#ifdefs uit publieke en interne headers verwijderd.
dtls12handshakemsg framework geïntroduceerd en in gebruik genomen.
- Union hernoemd van
_ naar u in de ui-code om Windows CE #ifdef te vermijden.
- Schoonmaak en vereenvoudiging van signature algorithm afhandeling na verwijdering van TLSv1.0 en TLSv1.1.
- Check voor 'point at infinity' toegevoegd aan
ecdhcomputekey().
- Onjuiste purpose-check in de unreachable non-legacy path van de moderne X.509 verifier hersteld.
- TLSv1.3 server afhandeling van 'no shared groups' verbeterd.
- Correcte secundaire key share afhandeling voor HelloRetryRequests.
- EXFLAGCRITICAL mishandeling in de
crlcb() hersteld.
- Bij CRL's met dezelfde score wordt nu de voorkeur gegeven aan degene met de meest recente
thisUpdate om BoringSSL en OpenSSL gedrag te matchen.
- Sequence number en message header afhandeling in DTLS opgeschoond.
- Redundante
BIOwrite() lengte-asserties in b64write() verwijderd.
- Ongeldige base64 BIO-status nu gerapporteerd als interne fout in plaats van een assert.
- SHA-3 prestaties verbeterd door gebruik van een unrolled en interleaved algoritme.
- TLSv1.3 receive buffers nu lazy gealloceerd.
- Afhandeling van resterende record-inhoud bij overgang naar de legacy stack vereenvoudigd.
- Hinderlijke vernauwing van de returnwaarde in
dtls1_ctrl() voorkomen.
- NIDmd5sha1 ondersteuning uit
tls1_PRF() verwijderd.
- DTLS unprocessed records queue verwijderd.
- DTLS application data queue verwijderd.
SSL3FLAGSNORENEGOTIATECIPHERS verwijderd omdat deze nooit is ingesteld.
Compatibiliteitswijzigingen
- De foutief benoemde
tlspeercertchainpem() is deprecated en kan in een toekomstige release worden verwijderd. tlspeercertchainverifiedpem() en tlspeercertbundleunverifiedpem() moeten in de plaats worden gebruikt.
X25519MLKEM768 is nu de voorkeursgroep voor TLSv1.3 verbindingen in libtls.
- Gegarandeerd dat libtls blijft werken met toekomstige OpenSSL-releases die stoppen met het NUL-termineren van ASN.1 strings.
CRYPTOcleanupallexdata() is nu een no-op. Het was niet thread-safe en de eigenlijke cleanup wordt nu gedaan door OPENSSL_cleanup(3).
X509checkca(3) is afgestemd op moderne OpenSSL. Hoewel gedocumenteerd dat het alleen werkt na X509checkpurpose(3), is het zinvol om "fail closed" te gaan (indiceren als non-CA).
- OIDs toegevoegd voor CCR, ErikIndex, ErikPartition, ErikSegmentIndex en communityDefinition.
Bugfixes
PKCS7set{un,}signed_attributes(3) hersteld zodat de caller kan vrijgeven bij fouten in plaats van het risico op een double free.
decodeerror en invalidkey variabelen in TLS key share code geïnitialiseerd om branching op niet-geïnitialiseerd geheugen te voorkomen.
- Extension lengte tussen type en data in de ClientHello hash vastgelegd om identieke framing in de eerste en tweede CH te garanderen.
- Out of bound writes in de
s_client XMSS modus hersteld.
- Gegarandeerd dat
ECGROUPcheck(3) en X509CRLverify(3) fouten resulteren in "app" fouten in openssl(1) ecparam en openssl crl.
accept faalt niet langer bij reverse DNS lookup fouten in s_socket.
- Gegarandeerd dat
X509V3EXTprint(3) alleen 0 en 1 teruggeeft.
- Voorkomen dat
memcmp() op NULL wordt aangeroepen in IPAddressFamily_cmp().
- In libtls is wildcard matching van een TLD gespecificeerd als een FQDN verboden.
- Enkele aspecten van TLSv1.2 met custom curve lists hersteld.
- Gegarandeerd dat een peer-provided EC public key uncompressed encoding gebruikt.
- Verzend decode_error alert bij fouten in het decoderen van een EC peer pubkey.
- NULL dereference en out-of-bounds read in password-based CMS decryptie voorkomen.
- Ontbrekende bounds check toegevoegd aan
ASN1mbstrinccopy().
- Voorkomen dat een buffer die eigendom is van de caller wordt vrijgegeven in
PKCS7_verify(3).
SSLOPLEGACYSERVERCONNECT verwijderd uit de standaardopties.
- Illegal parameter alerts verzonden voor diverse HelloRetryRequest schendingen.
- Controle of de door de server geselecteerde ciphersuite geldig is voor gebruik met TLSv1.2.
CRYPTOLOCKUI ontgrendeld bij uiopensession() fouten om deadlock te voorkomen.
HMAC(3) returnwaarde gecontroleerd om later gebruik van niet-geïnitialiseerd geheugen in openssl(1) te voorkomen.
- Correct alert gebruikt voor keyshare zonder supportedgroups.
X509VERRHOSTNAMEMISMATCH niet langer gedropt wanneer de verify callback 1 teruggeeft.
- Gegarandeerd dat de server een ALPN protocol selecteert dat we hebben geadverteerd, anders wordt de handshake afgebroken met
illegal_parameter.
- Streaming van PKCS#7 objecten met weggelaten content hersteld.
- OOB toegang door type confusion in
PKCS7_stream() voorkomen.
- Lek en diverse andere bugs in
asn1_multi() (helper voor sequences en sets in configuratieparsing) opgelost.
- RFC 3779 overervingscontroles voor leaves hersteld, voor zover mogelijk zonder de RPKI te breken.
- Foutieve groottecontrole in
dtls1processfragment() hersteld.
- Voorkomen dat delta CRLs worden aangezien voor full CRLs.
- Bij het kopiëren van een RSA-PSS
EVPPKEYCTX wordt nu gegarandeerd dat saltlen en minimal saltlen restricties worden gekopieerd in plaats van defaults te gebruiken.
- DTLS clients mogen nu onverwachte Finished berichten ontvangen.
- Extensions van de leaf worden gecached voordat deze aan een gevalideerde chain worden toegevoegd om name constraints check betrouwbaarder te maken.
- Gegarandeerd dat het volledige subject wordt doorzocht naar e-mailadressen en common names.
- Check voor embedded NULs in e-mails en subjectAltname in de legacy
NAMECONSTRAINTS*() API.
- Ondersteuning voor
nameRelativeToCRLIssuer in de CRL Distribution Point extensie verwijderd conform RFC 5280.
Beveiliging en betrouwbaarheid
- Parsing problemen in X.509 name constraints URI host parsing hersteld.
- IPv6 literals correct afgehandeld en voorkomen dat speciaal vervaardigde userinfo host-checks omzeilt.
- Grootte van gebufferde DTLS handshake berichten beperkt om overmatige geheugenconsumptie bij kleine fragmenten te voorkomen.
- OCSP responder autorisatie-bypass hersteld voor clients die
tlsconfigocsprequirestapling() gebruiken (bekend bij OpenBSD nc(1) en ftp(1) met het "muststaple" trefwoord).
Testen en proactieve beveiliging
- Testdekking voor DTLS en TLS renegotiatie verbeterd.
- X.509 CRL regress toegevoegd vanuit pre-Apache2-licensed BoringSSL.
- Testframework herontworpen om geheugen-gebaseerd te zijn in plaats van bestand-gebaseerd, nauwer aansluitend op het output-formaat van Go.
OpenSSH 10.6
Beveiligingsfixes
ssh(1) LZ77 dictionary coder uitgeschakeld om een potentiële side-channel leak te voorkomen.
ChannelTimeout en RekeyLimit worden nu correct toegepast in sshd_config(5).
ssh(1) authorized_keys "restrict" trefwoord wordt nu correct toegepast op tunnel forwarding.
Potentieel incompatibele wijzigingen
- Gebruik van IANA-gealloceerde codepoint voor
ssh-mldsa44-ed25519 in plaats van '@openssh.com'.
sshd_config(5) DisableForwarding=yes overrulet nu PermitTunnel=yes.
- Maximale grootte afgedwongen voor gebruikersnamen in
ssh-agent(1) agent key use constraints.
- NUL-bytes niet toegestaan in
scp(1) '-O filename'.
Nieuwe functies
- Nieuwe
ssh-add(1) optie -P om PIN-invoer over te slaan.
ssh(1) signaalafhandeling met readpassphrase(3) hersteld.
ssh(1) is overgestapt van supercop ed25519 naar libsodium.
ssh(1) TCPKeepAlive uitgebreid om forwardings te ondersteunen.
ssh-keygen(1) 'hexdump' toegevoegd om de key blob in hex-formaat te dumpen.
- Mogelijkheid toegevoegd om
ssh-keygen(1) touch-required/verify-required vlaggen in te stellen of te wissen op FIDO private keys bij het resetten van het wachtwoord.
ssh(1) '-Z user@host' modus toegevoegd om pubkeys te tonen die voor authenticatie geprobeerd zullen worden.
- Experimentele
ssh(1) ondersteuning voor het composite post-quantum mldsa44-ed25519 signature schema toegevoegd.
- Een explicit-seed variant van de
ssh(1) keygen functie toegevoegd.
- Signature malleability en pubkey validiteitscontroles toegevoegd aan
sshd(8) ed25519 verificatie.
Bugfixes
- Controle of
ssh(1) gecomprimeerde payloads niet verder opblazen dan de maximale payload lengte.
- Race tussen meerdere
ssh(1) processen die een multiplexing control socket opzetten, voorkomen.
- Geheugenlek in
ssh-add(1) (CID 913600) gedicht.
- Fixes voor
ssh(1) CIDs 913601 en 913602.
- Fix voor
ssh(1) CID 913600.
ssh(1) channel timeouts omgezet om fractionele en sub-seconde timeouts toe te staan.
ssh(1) masking signals gebruiken nu correct sigaddset.
ssh(1) memleaks hersteld (CID 913598 en 913599); ontbrekende puntkomma toegevoegd (CID 913599).
- Zomertijd-tijdstempel conversie door
ssh(1) gecorrigeerd.
ssh(1) proxy socket breakage in t-multiplex na recente pledge(2) wijzigingen hersteld.
- Het lezen van de server banner door
ssh-keyscan(1) blokkeert of bevriest niet langer bij een keyscan van veel hosts.
session-bind@openssh.com requests toegestaan wanneer de ssh(1) agent is vergrendeld.
- Potentiële realloc use-after-free in de
ssh(1) client voorkomen.
- Herordening van certificaten die geprobeerd worden tijdens
ssh(1) pubkey authenticatie.
ssh(1) ML-KEM/ECDH interop probleem hersteld.
- Enkele key
ssh(1) parsing en verificatiepaden verwijderd uit het pre-auth attack surface.
- Download naar server-gecontroleerde paden voorkomen bij
ssh(1) download via commandline.
- Mogelijke NULL deref in
ssh(1) voorkomen; bestandsnamen ontvangen via remote glob gesaniteerd.
- Grote refactoring van
sshd(8) configuratiebeheer code.
sshd(8) dwingt nu de domeinnaam ontvangen van de systeem resolver naar lowercase.
- Twee one-byte out-of-bounds reads in
sshd(8) hersteld.
- Striktere validatie van transport state overgedragen van het preauth naar het postauth
sshd(8) proces.
ssh(1) client use-after-free op error pad hersteld indien cipher_init() faalt.
ssh-agent(1) -V toegevoegd om versie te printen, bruikbaar om te testen of het binary functioneel is na relinking.
- Voorkomen dat
ssh(1) slechte cipher/mac lijst-argumenten als geldig valideert.
ssh(1) NULL deref tijdens pubkey auth hersteld.
- Dropbear heeft recent een -Q optie toegevoegd;
ssh(1) gebruikt deze nu om KEX te bevragen indien beschikbaar.
ssh(1) dynamic-tcpip kanalen nu geclassificeerd als bulk, niet interactief.
---
Poorten en pakketten
Er zijn veel vooraf gebouwde pakketten beschikbaar voor elke architectuur:
- aarch64: 12907
- amd64: 13060
- i386: 10659
- mips64: 9072
- powerpc64: 9564
- riscv64: 11116
- sparc64: 10621
Hoogtepunten:
- Asterisk 20.21.0 en 22.11.0
- Audacity 3.7.9
- CMake 4.3.5
- Chromium 154.0.8037.92
- Emacs 31.1
- FFmpeg 9.0.2
- GCC 16.1.0
- GHC 9.10.3
- GNOME 49
- Go 1.27.1
- JDK 11.0.32, 17.0.20, 21.0.12 en 25.0.4
- KDE Gear 26.08.1, Frameworks 6.30.0, Plasma 6.7.5
- Krita 6.0.3
- LLVM/Clang 21.1.8 en 22.1.8
- LibreOffice 26.8.0.3
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.8 en 5.5.1
- MariaDB 12.3.3
- Mono 6.14.1
- Mozilla Firefox 157.0 en ESR 153.4.0
- Mozilla Thunderbird 153.4.0
- Mutt 2.4.2 en NeoMutt 20260616
- Node.js 24.21.0 en Deno 2.9.7
- OCaml 4.14.2
- OpenLDAP 2.6.15
- PHP 8.3.33, 8.4.26 en 8.5.11
- Postfix 3.5.28 en 3.11.7
- PostgreSQL 18.6
- Prism Launcher 11.1.0
- Python 2.7.18 en 3.14.7
- Qt 5.15.19 (+ kde patches) en 6.11.2
- R 4.6.1
- Ruby 3.3.12, 3.4.11 en 4.0.7
- Rust 1.98.1
- SQLite 3.53.2
- Shotcut 26.8.1
- Sudo 1.9.17p2
- Suricata 7.0.7
- Tcl/Tk 8.5.19, 8.6.18 en 9.0.4
- TeX Live 2026
- Vim 9.2.1125, Neovim 0.12.5 en Vim-Classic 2026091
- Wayland 1.26.0 (met compositors CoW, Labwc, Mango, Niri, Sway en Wayfire)
- Vulkan 1.4.357.0
- Xfce 4.20.0
Er zijn zoals gebruikelijk gestage verbeteringen doorgevoerd in de handleidingen en overige documentatie.
Belangrijke externe componenten
Het systeem bevat de volgende belangrijke componenten van externe leveranciers:
- Xenocara: Gebaseerd op X.Org 7.7 met xserver 21.1.24 + patches, freetype 2.14.3, fontconfig 2.17.1, Mesa 25.0.7, xterm 410, xkeyboard-config 2.20, fonttosfnt 1.2.5 en meer.
- LLVM/Clang: 22.1.6 (+ patches)
- GCC: 4.2.1 (+ patches) en 3.3.6 (+ patches)
- Perl: 5.42.3 (+ patches)
- pkgconf: 3.0.7
- NSD: 4.15.2
- Unbound: 1.26.1
- Ncurses: 6.4
- Binutils: 2.17 (+ patches)
- GDB: 6.3 (+ patches)
- Awk: 20250116
- Expat: 2.8.4
- zlib: 1.3.2 (+ patches)
---
Installatie-instructies
Raadpleeg de volgende bestanden op de mirror-site voor uitgebreide details over hoe OpenBSD 8.0 op uw machine te installeren:
.../OpenBSD/8.0/alpha/INSTALL.alpha
.../OpenBSD/8.0/amd64/INSTALL.amd64
.../OpenBSD/8.0/arm64/INSTALL.arm64
.../OpenBSD/8.0/armv7/INSTALL.armv7
.../OpenBSD/8.0/hppa/INSTALL.hppa
.../OpenBSD/8.0/i386/INSTALL.i386
.../OpenBSD/8.0/landisk/INSTALL.landisk
.../OpenBSD/8.0/luna88k/INSTALL.luna88k
.../OpenBSD/8.0/macppc/INSTALL.macppc
.../OpenBSD/8.0/octeon/INSTALL.octeon
.../OpenBSD/8.0/powerpc64/INSTALL.powerpc64
.../OpenBSD/8.0/riscv64/INSTALL.riscv64
.../OpenBSD/8.0/sparc64/INSTALL.sparc64
Sneloverzicht voor ervaren gebruikers:
- OpenBSD/alpha: Boot vanaf CD via
install80.iso of cd80.iso.
- OpenBSD/amd64: Boot vanaf CD (
install80.iso / cd80.iso) of USB (install80.img / miniroot80.img). PXE-installatie is mogelijk. Raadpleeg INSTALL.amd64 voor dual boot.
- OpenBSD/arm64: Boot vanaf CD of via een systeem-specifieke miniroot op een SD-kaart via de seriële console.
- OpenBSD/armv7: Gebruik een systeem-specifieke miniroot op een SD-kaart via de seriële console.
- OpenBSD/hppa: Boot via het netwerk volgens de instructies in
INSTALL.hppa.
- OpenBSD/i386: Boot vanaf CD (
install80.iso / cd80.iso) of USB (install80.img / miniroot80.img). PXE-installatie mogelijk.
- OpenBSD/landisk: Schrijf
miniroot80.img naar het begin van de CF of disk en boot normaal.
- OpenBSD/luna88k: Kopieer
boot en bsd.rd naar een Mach of UniOS partitie.
- OpenBSD/macppc: Brand
install80.iso naar een CDROM en houd de C-toets ingedrukt tijdens het opstarten.
- OpenBSD/octeon: Boot
bsd.rd over het netwerk via DHCP/tftp na verbinding met een seriële poort.
- OpenBSD/powerpc64: Schrijf
install80.img of miniroot80.img naar een USB-stick en kies het OpenBSD-menu in Petitboot.
- OpenBSD/riscv64: Schrijf `install80.img