OpenBSD Journal

OpenBSD Journal

The Book of PF, 4th Edition Spotted in the Wild

Contributed by Peter N. M. Hansteen on from the network fun and games dept.

You may have heard already that a fourth edition of The Book of PF was on the way.

It is now shipping, and when author and undeadly.org co-editor Peter Hansteen finally got his author copies, he wrote a blog post titled The Book of PF, 4th Edition: It's Here, It's Real.

Like Peter says in the article, we would like to encourage readers who can afford it, to support the OpenBSD project.

And there are pictures, of the book and the resident philosopher.

OpenBSD on SGI: a rollercoaster story, as told by miod@

Contributed by Peter N. M. Hansteen on from the RISC-y stories dept.

Some readers will be aware that Miod Vallat (miod@) has been chronicling some of the more challenging parts of OpenBSD development in his OpenBSD stories collection for a while now.

The latest entry is the full OpenBSD on SGI: a rollercoaster story, which is also available in six parts,

A missed opportunity, 1988-1998
Individual efforts, 200-2004
The blowfish awakens, 2004-2006
Tinkering on big iron, 2007-2008
Hardware galore, 2009
The last challenges, 2010-2021

for those of us who like to take it in as smaller chunks, or all articles as one file.

It's a story some thirty years in the making and telling. Enjoy!

tmppath promise removed from pledge(2) in -current

Contributed by Peter N. M. Hansteen on from the promises, promises dept.

A long standing and somewhat odd conflict between two OpenBSD security mechanisms, pledge(2) and unveil(2) has been resolved by eliminating the tmppath promise from what pledge(2) offers.

The commit by Theo de Raadt (deraadt@) comes with an explanation in the commit message, which reads

List:       openbsd-cvs
Subject:    CVS: cvs.openbsd.org: src
From:       Theo de Raadt <deraadt () cvs ! openbsd ! org>
Date:       2026-02-26 7:42:26
CVSROOT:	/cvs
Module name:	src
Changes by:	deraadt@cvs.openbsd.org	2026/02/26 00:42:26

Modified files:
	sys/sys        : pledge.h 
	sys/kern       : kern_pledge.c 
	lib/libc/sys   : pledge.2 

Log message:
pledge "tmppath" goes away because it sucks.  The history is kind of
sad:  unveil(2) was invented by Bob Beck and myself because a couple
of us struggled and couldn't expand the "tmppath" mechanism to general use.

Read more…

Another subprocess for vmd(8)

Contributed by rueda on from the spawn me a sub dept.

Dave Voutila (dv@) has continued his work on moving vmd(8) to a multi-process model. (Undeadly first reported on this in 2023.) This time the virtio scsi device has been converted to a subprocess:

CVSROOT:	/cvs
Module name:	src
Changes by:	dv@cvs.openbsd.org	2026/02/22 15:54:54

Modified files:
	usr.sbin/vmd   : vioscsi.c virtio.c virtio.h vmd.c vmd.h 

Log message:
vmd(8): convert virtio scsi device to a subprocess.

Break the virtio scsi device (used as a cd-rom drive) into a
subprocess like the virtio block and network devices. This leaves
only the entropy device (viornd) and vmmci device running in-process
with the vcpus.

ok mlarkin@

bsd.rd breakdown

Contributed by Janne Johansson on from the ram-a-llama-ding-dong dept.

Every OpenBSD admin has booted bsd.rd at least once — to install, upgrade, or rescue a broken system. But few people stop to look at what’s actually inside that file.

In this article over at the OpenBSD Jumpstart site, they take a look at just that.

The contents and format of the bsd.rd ramdisk kernel is shown, so you can understand and customize it for your own needs.

Enjoy!

Donate!

Donate to OpenBSD

Features

We are constantly on the lookout for stories of how you put OpenBSD to work. Please submit any informative articles on how OpenBSD is helping your company.

OpenBSD Errata

Unofficial RSS feed of OpenBSD errata

OpenBSD 7.8

0182026-03-04 SECURITY Make the pledge(2) mechanism which permits specific libc paths more strict by removing the "tmppath" promise, avoid normalizing paths which libc already creates strictly correct, and blocking '..' traversals out of /usr/share/zoneinfo.
0172026-03-02 SECURITY In ldconfig(8), stop userland from using pledge(2) "tmppath" because the kernel feature will be removed soon.
0162026-02-27 SECURITY sysctl requests blocked by pledge(2) create a diagnostic message which races inside pty(4) and possibly crashes.
0152026-02-27 SECURITY Stop userland from using pledge(2) "tmppath" because the kernel feature will be removed soon.
0142026-02-09 SECURITY In libexpat fix denial of service due to NULL dereference and integer overflow. CVE-2026-24515 CVE-2026-25210
0132026-02-02 SECURITY Fix a use-after-free in httpd(8) when using chunked encoding.

OpenBSD 7.7

0242026-03-04 SECURITY Make the pledge(2) mechanism which permits specific libc paths more strict by removing the "tmppath" promise, avoid normalizing paths which libc already creates strictly correct, and blocking '..' traversals out of /usr/share/zoneinfo.
0232026-03-02 SECURITY In ldconfig(8), stop userland from using pledge(2) "tmppath" because the kernel feature will be removed soon.
0222026-02-27 SECURITY sysctl requests blocked by pledge(2) create a diagnostic message which races inside pty(4) and possibly crashes.
0212026-02-27 SECURITY Stop userland from using pledge(2) "tmppath" because the kernel feature will be removed soon.
0202026-02-09 SECURITY In libexpat fix denial of service due to NULL dereference and integer overflow. CVE-2026-24515 CVE-2026-25210
0192026-02-02 SECURITY Fix a use-after-free in httpd(8) when using chunked encoding.

XML/RSS/RDF

Users wishing RSS/RDF summary files of OpenBSD Journal can retrieve: RSS feed

Options are available.

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]