Skip to content
Sunday, October 18, 2026AboutContactRSS
Vulnerabilities

Calif Researcher Discloses OpenBSD Kernel Flaw Chain Enabling Root Privilege Escalation

A researcher from Calif published proof-of-concept code for a 37-year-old OpenBSD kernel vulnerability chain that bypasses modern security protections to gain root access.

Illustration: A weathered terminal sits on a cluttered desk, displaying only abstract geometric shapes on its screen.
AI-generated illustration: Threat Times

Key points

  • Andrew Griffiths of Calif released the "Big Fish" research and exploit code on October 16, 2026.
  • The exploit chain combines a shared memory accounting flaw with an out-of-bounds write vulnerability.
  • OpenBSD has addressed these issues through errata 026 and 018, according to the security firm.

Security researchers from Calif disclosed a complex kernel exploitation chain in OpenBSD on October 16, 2026, that allows local users to escalate privileges to root. Andrew Griffiths published the "Big Fish" research alongside public proof-of-concept code that successfully bypasses multiple active kernel security protections. This discovery highlights how legacy code structures can still be leveraged to compromise modern operating system defenses.

The exploitation sequence relies on combining two distinct vulnerabilities: a shared memory accounting flaw and a separate out-of-bounds write error. The older flaw involves a signed 16-bit field, `shm_nattch`, which tracks shared memory attachments and originated in BSD sources roughly 37 years ago. Repeated process creation can push this counter past its 32,767 maximum, causing it to wrap into negative values. This incorrect accounting creates a race condition that leads to a use-after-free vulnerability.

Technical Mechanism of the Exploit

Griffiths’ proof-of-concept maps 127 System V shared memory segments, unmmaps them, and forks 259 processes to drive the attachment count to -32,643. This specific negative value establishes the necessary accounting state for the subsequent memory corruption. The exploit then uses allocation statistics exposed via `sysctl(KERN_MALLOCSTATS)` to groom kernel memory. By monitoring metrics like `kb_total` and `kb_totalfree`, the attacker tracks allocation behavior to control the placement of targeted kernel objects.

A race condition between removing a segment via `IPC_RMID` and attaching a new one enables the next stage. The counter overflow alone is insufficient; the chain requires the out-of-bounds write to succeed. The exploit targets a 16-byte `struct ip_moptions` allocated by configuring an IP socket’s multicast settings. The out-of-bounds write corrupts two membership counters, which triggers atomic decrements against the kernel’s self-referential page-table mapping when the socket closes.

These modifications alter mapping permissions, making attacker-controlled memory accessible to the supervisor. The exploit then uses linked-list removal via `TAILQ_REMOVE` to overwrite a predictable kernel pointer. This redirection of execution ultimately yields a root shell after the attacker restores the modified state. As Threat Times reported on October 18, 2026, Calif detailed how this legacy integer overflow bypasses modern kernel protections.

Vendor Response and Status

Calif states that OpenBSD has addressed both vulnerabilities through official errata. The shared memory accounting issue was resolved in errata 026, while the out-of-bounds write flaw was fixed in errata 018. The researcher’s disclosure includes functional code that demonstrates the full exploitation chain. This confirms that the theoretical risk posed by these legacy code paths can be realized in practice against unpatched systems.

What should you do?

Administrators should verify that their OpenBSD installations have applied errata 026 and 018. Organizations should audit their systems for any unpatched kernels running before these updates were released. Monitoring for unusual shared memory usage or unexpected process forking may help detect exploitation attempts. Users should restrict local access to systems that cannot be immediately updated.

What to do and how to stay safe: OpenBSD

  • Check your OpenBSD system logs and update history to confirm that errata 026 and 018 have been applied.
  • Restrict local user privileges on servers to reduce the attack surface for privilege escalation attempts.
  • Monitor system metrics for abnormal shared memory attachment counts or rapid process creation patterns.
  • Isolate critical systems from untrusted user input until you verify that all kernel patches are installed.

Step-by-step guide: Risk-Based Vulnerability Management: Prioritize Fixes by Actual Danger

General security guidance from the Threat Times newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

Does this vulnerability affect all versions of OpenBSD?

The flaw traces back 37 years in the code ancestry, but OpenBSD has issued specific errata to address the issues in current distributions.

Is there an active exploit in the wild?

The source material only mentions the publication of proof-of-concept code by Andrew Griffiths; it does not report confirmed wild usage.

How did the researcher bypass kernel protections?

The exploit chain combines a shared memory accounting overflow with an out-of-bounds write to corrupt kernel memory and redirect execution.

Sources

  1. GBHackers
Related articles