Skip to main content

Openbsd EUVDEUVD-2026-23996

| CVE-2026-41285 MEDIUM
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-04-21 cve@mitre.org
4.3
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
4.3 MEDIUM
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

4
Analysis Generated
Apr 21, 2026 - 00:39 vuln.today
EUVD ID Assigned
Apr 21, 2026 - 00:22 euvd
EUVD-2026-23996
Analysis Generated
Apr 21, 2026 - 00:22 vuln.today
CVE Published
Apr 21, 2026 - 00:16 nvd
MEDIUM 4.3

DescriptionCVE.org

In OpenBSD through 7.8, the slaacd and rad daemons have an infinite loop when they receive a crafted ICMPv6 Neighbor Discovery (ND) option (over a local network) with length zero, because of an "nd_opt_len * 8 - 2" expression with no preceding check for whether nd_opt_len is zero.

AnalysisAI

Denial-of-service in OpenBSD slaacd and rad daemons allows local network attackers to trigger infinite loops by sending crafted ICMPv6 Neighbor Discovery packets with zero-length options, causing affected daemons to hang due to missing validation of the nd_opt_len field before arithmetic operations. OpenBSD versions through 7.8 are affected. No evidence of active exploitation has been identified.

Technical ContextAI

The vulnerability exists in OpenBSD's IPv6 stateless address autoconfiguration and router advertisement daemons (slaacd and rad), which process ICMPv6 Neighbor Discovery (ND) packets per RFC 4861. These daemons parse ND options, which include a length field (nd_opt_len) measured in 8-byte units. The vulnerable code performs the calculation 'nd_opt_len * 8 - 2' without first validating that nd_opt_len is non-zero. When nd_opt_len equals zero, this expression evaluates to -2, causing integer underflow or logic errors that trap the daemon in an infinite loop during option processing. The root cause is classified as CWE-1284 (Improper Validation of Specified Quantity in Input), reflecting the missing bounds check on a network-supplied value before use in arithmetic operations. The attack vector is restricted to local network access (AV:A in CVSS), as ICMPv6 ND messages do not route across the internet by default.

RemediationAI

Apply the OpenBSD errata patch from https://www.openbsd.org/errata78.html, which adds validation to ensure nd_opt_len is non-zero before performing the calculation 'nd_opt_len * 8 - 2'. The fix is confirmed in upstream commit 086c5738bcd3c203bcc08d024fcf983cb409115f on OpenBSD's source repository. For production systems, upgrade to the patched version as distributed through OpenBSD security advisories. In environments where immediate patching is not feasible, restrict access to the local network segment through network segmentation and firewall rules to prevent untrusted hosts from sending crafted ICMPv6 packets to systems running vulnerable slaacd or rad daemons. Monitor daemon uptime and log files for unexpected restarts or hanging processes, as the infinite loop will cause daemons to become unresponsive to legitimate ICMPv6 messages, potentially disrupting IPv6 address autoconfiguration. This workaround does not eliminate the vulnerability but reduces the likelihood of malicious triggering.

CVE-2017-5850 HIGH POC
7.5 Mar 27

httpd in OpenBSD allows remote attackers to cause a denial of service (memory consumption) via a series of requests for

CVE-2019-19726 HIGH POC
7.8 Dec 12

OpenBSD through 6.6 allows local users to escalate to root because a check for LD_LIBRARY_PATH in setuid programs can be

CVE-2017-1000373 MEDIUM POC
6.5 Jun 19

The OpenBSD qsort() function is recursive, and not randomized, an attacker can construct a pathological input array of N

CVE-2024-29937 CRITICAL POC
9.8 Apr 11

NFS in a BSD derived codebase, as used in OpenBSD through 7.4 and FreeBSD through 14.0-RELEASE, allows remote attackers

CVE-2020-16088 CRITICAL POC
9.8 Jul 28

iked in OpenIKED, as used in OpenBSD through 6.7, allows authentication bypass because ca.c has the wrong logic for chec

CVE-2019-19521 CRITICAL POC
9.8 Dec 05

libc in OpenBSD 6.6 allows authentication bypass via the -schallenge username, as demonstrated by smtpd, ldapd, or radiu

CVE-2026-55706 HIGH POC
8.3 Jun 17

Authentication bypass in OpenBSD's sppp PAP handler (sppp_pap_input in sys/net/if_spppsubr.c) lets an adjacent attacker

CVE-2016-6240 HIGH POC
7.8 Mar 07

Integer truncation error in the amap_alloc function in OpenBSD 5.8 and 5.9 allows local users to execute arbitrary code

CVE-2016-6241 HIGH POC
7.8 Mar 07

Integer overflow in the amap_alloc1 function in OpenBSD 5.8 and 5.9 allows local users to execute arbitrary code with ke

CVE-2019-19522 HIGH POC
7.8 Dec 05

OpenBSD 6.6, in a non-default configuration where S/Key or YubiKey authentication is enabled, allows local users to beco

CVE-2019-19520 HIGH POC
7.8 Dec 05

xlock in OpenBSD 6.6 allows local users to gain the privileges of the auth group by providing a LIBGL_DRIVERS_PATH envir

CVE-2019-19519 HIGH POC
7.8 Dec 05

In OpenBSD 6.6, local users can use the su -L option to achieve any login class (often excluding root) because there is

Share

EUVD-2026-23996 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy