Every CVE Search/ Get API key

CVE-2026-56115

Bootimus 0.1.70 Broken Access Control via JWTMiddleware Authorization Bypass

8.7 High

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.45%Up 0.3 points since Jun 24, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

Bootimus 0.1.70 Broken Access Control via JWTMiddleware Authorization Bypass

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
CVE-2026-56115
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-862
Updated
2026-11-02
EUVDEUVD-2026-38494 8.7

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
EUVD-2026-38494
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-vhmp-9f3g-3f36 6.0

dhcpcd through 10.3.2, fixed in commit 2f00c7b, contains a one-byte stack out-of-bounds write...

dhcpcd through 10.3.2, fixed in commit 2f00c7b, contains a one-byte stack out-of-bounds write vulnerability in dhcp6_makemessage() in src/dhcp6.c that allows unauthenticated same-link attackers to write beyond a fixed local buffer by serializing an oversized RFC6603 OPTION_PD_EXCLUDE option body. Attackers can send a crafted DHCPv6 ADVERTISE message containing an IA_PD IAPREFIX /0 with a valid OPTION_PD_EXCLUDE using an exclude prefix length of /121 through /128 to trigger the out-of-bounds write and potentially corrupt adjacent stack memory.

Record
GHSA-vhmp-9f3g-3f36
CVSS 4.0
6.0 MediumCVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
5.3 MediumCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-787, CWE-862
Updated
2026-11-02
NVD 8.7

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
CVE-2026-56115
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-862
Updated
2026-11-02
OSV 8.7

Bootimus 0.1.70 Broken Access Control via JWTMiddleware Authorization Bypass

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
CVE-2026-56115
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-862
Updated
2026-11-02
OSVDEBIAN-CVE-2026-56115 6.0

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
DEBIAN-CVE-2026-56115
CVSS 4.0
6.0 MediumCVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2026-56115 8.7

Bootimus through 0.1.70 contains a broken access control vulnerability that allows authenticated low-privileged users to perform administrative actions by exploiting missing role enforcement in the JWTMiddleware function in internal/auth/auth.go, which validates JWT tokens and account status but fails to inspect the is_admin flag. Attackers can send requests to any endpoint under the /api/users path to create new administrator accounts or reset administrator passwords, thereby gaining full control of the server and the ability to modify boot menus and installation scripts served to PXE clients.

Record
UBUNTU-CVE-2026-56115
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVopenSUSE-SU-2026:11473-1 No score

dhcpcd-10.5.0-1.1 on GA media

These are all security issues fixed in the dhcpcd-10.5.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11473-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:21692-1 No score

Security update for dhcpcd

This update for dhcpcd fixes the following issues:

Update to 10.5.0.

Security issues fixed:

  • CVE-2026-56113: crafted DHCPv6 RENEW reply can lead to a denial of service (bsc#1268980).
  • CVE-2026-56115: crafted DHCPv6 ADVERTISE message can cause a one-byte stack out-of-bounds write (bsc#1268976).
  • CVE-2026-56116: crafted Router Advertisements containing Route Information options with a zero lifetime can lead to a memory leak (bsc#1268974).
  • CVE-2026-56117: crafted privileged command sent over a writable control socket can lead to a heap use-after-free (bsc#1268968).

Changes for dhcpcd:

  • 10.5.0:
    • Add missing SPDX-License tags
    • Format code with clang-format v19
    • privsep: Change IPC to use SOCK_STREAM
    • BPF: Split OS specific code out into own files and add libpcap support
    • hooks: Escape interface names and use printf
    • Delete DHCPv6 IA FD from the loop before closing it
    • eloop: Use kqueue or epoll to wait for a fd to become ready
    • Darwin: Add initial support for macOS
    • Import latest pidfile from NetBSD
    • BPF: Improve headers
    • compat: Add support for getprogname(3)
    • route: Rework rt structure so sockaddrs are pointers
    • dhcp-common: Escape ifname for lease file
    • privsep: smaller buffer size without INET6
    • script: add ifxname as the escaped string
    • time.h always pulls in struct timespec
    • route: Use HAVE_RT_MISSFILTER rather than a generic BSD define
    • privsep: Test defines for all ioctls
    • if: if_init inits the interface from the kernel
    • privsep: Add ps_root_gethostname
    • DHCP: Don't really expire the lease when testing
    • DHCP: Don't add a trailing : on vendor if no machine arch
    • privsep: guard setproctitle and only use compat on linux
    • options: Remove some const to fix compile warnings
    • privsep: Don't open PF_INET socket for each ioctl
    • sun: Enable building for privsep
    • script: Use correct buffer length variable
    • privsep: Remove PS_BUFLEN
    • privsep: Simplify readerror
    • timezone: disallow directory traversal
    • privsep: ps_root_readfile should return the real file size
    • linux: Ensure NLA data boundaries are valid
    • options: Fix userclass boundary
    • ND6: fix OOB reject mask for an undefined option.
    • DHCP6: Ensure IA_PD Prefix Lenth is valid
    • ND: Enforce require and reject policy
    • ARP: check we have enough to read the frame header
    • hooks: Quote assignment of compat vars correctly
    • udev: Ensure we have a subsystem, action and ifname
    • Fix CI build
    • DHCP: Santize messages from servers for output
    • ARP: Iterate over states safely as the cb could remove ours
    • privsep: Check data is terminated when a string
    • auth: clear keys with memset_explicit
    • auth: Ensure remaining dlen matches hash digest length
    • hooks: don't read past truncated ip6 address starting fe
    • ipv6: Only regen temp addrs with sufficent pltime
    • eloop: Improve timespecdiff
    • eloop: Fix compile warning where UTIME_MAX is a calculation
    • vsio: Allow zero length options
    • DHCP6: Fix configuring the suffix to delegated prefixes
    • IPv6: Fix numerous issues extending temporary address times
    • capsicum: Avoid some overflow issues in privsep sysctl
    • script: Fix buffer over and under flows in script_buftoenv
    • IPv4: uset old_ia when adding an address causes early removal
    • dhcp: add configurable backoff parameters for DHCPv4
    • options: Introdce policy groups
    • Build all the targets on macos
    • control: remove unprivileged socket
    • DHCP: deconfigure even when state is NULL or NONE
Record
openSUSE-SU-2026:21692-1
Updated
2026-11-02
OSVSUSE-SU-2026:23400-1 No score

Security update for dhcpcd

This update for dhcpcd fixes the following issues:

Update to 10.5.0.

Security issues fixed:

  • CVE-2026-56113: crafted DHCPv6 RENEW reply can lead to a denial of service (bsc#1268980).
  • CVE-2026-56115: crafted DHCPv6 ADVERTISE message can cause a one-byte stack out-of-bounds write (bsc#1268976).
  • CVE-2026-56116: crafted Router Advertisements containing Route Information options with a zero lifetime can lead to a memory leak (bsc#1268974).
  • CVE-2026-56117: crafted privileged command sent over a writable control socket can lead to a heap use-after-free (bsc#1268968).

Changes for dhcpcd:

  • 10.5.0:
    • Add missing SPDX-License tags
    • Format code with clang-format v19
    • privsep: Change IPC to use SOCK_STREAM
    • BPF: Split OS specific code out into own files and add libpcap support
    • hooks: Escape interface names and use printf
    • Delete DHCPv6 IA FD from the loop before closing it
    • eloop: Use kqueue or epoll to wait for a fd to become ready
    • Darwin: Add initial support for macOS
    • Import latest pidfile from NetBSD
    • BPF: Improve headers
    • compat: Add support for getprogname(3)
    • route: Rework rt structure so sockaddrs are pointers
    • dhcp-common: Escape ifname for lease file
    • privsep: smaller buffer size without INET6
    • script: add ifxname as the escaped string
    • time.h always pulls in struct timespec
    • route: Use HAVE_RT_MISSFILTER rather than a generic BSD define
    • privsep: Test defines for all ioctls
    • if: if_init inits the interface from the kernel
    • privsep: Add ps_root_gethostname
    • DHCP: Don't really expire the lease when testing
    • DHCP: Don't add a trailing : on vendor if no machine arch
    • privsep: guard setproctitle and only use compat on linux
    • options: Remove some const to fix compile warnings
    • privsep: Don't open PF_INET socket for each ioctl
    • sun: Enable building for privsep
    • script: Use correct buffer length variable
    • privsep: Remove PS_BUFLEN
    • privsep: Simplify readerror
    • timezone: disallow directory traversal
    • privsep: ps_root_readfile should return the real file size
    • linux: Ensure NLA data boundaries are valid
    • options: Fix userclass boundary
    • ND6: fix OOB reject mask for an undefined option.
    • DHCP6: Ensure IA_PD Prefix Lenth is valid
    • ND: Enforce require and reject policy
    • ARP: check we have enough to read the frame header
    • hooks: Quote assignment of compat vars correctly
    • udev: Ensure we have a subsystem, action and ifname
    • Fix CI build
    • DHCP: Santize messages from servers for output
    • ARP: Iterate over states safely as the cb could remove ours
    • privsep: Check data is terminated when a string
    • auth: clear keys with memset_explicit
    • auth: Ensure remaining dlen matches hash digest length
    • hooks: don't read past truncated ip6 address starting fe
    • ipv6: Only regen temp addrs with sufficent pltime
    • eloop: Improve timespecdiff
    • eloop: Fix compile warning where UTIME_MAX is a calculation
    • vsio: Allow zero length options
    • DHCP6: Fix configuring the suffix to delegated prefixes
    • IPv6: Fix numerous issues extending temporary address times
    • capsicum: Avoid some overflow issues in privsep sysctl
    • script: Fix buffer over and under flows in script_buftoenv
    • IPv4: uset old_ia when adding an address causes early removal
    • dhcp: add configurable backoff parameters for DHCPv4
    • options: Introdce policy groups
    • Build all the targets on macos
    • control: remove unprivileged socket
    • DHCP: deconfigure even when state is NULL or NONE
Record
SUSE-SU-2026:23400-1
Updated
2026-11-02
OSVSUSE-SU-2026:23562-1 No score

Security update for dhcpcd

This update for dhcpcd fixes the following issues:

Update to 10.5.0.

Security issues fixed:

  • CVE-2026-56113: crafted DHCPv6 RENEW reply can lead to a denial of service (bsc#1268980).
  • CVE-2026-56115: crafted DHCPv6 ADVERTISE message can cause a one-byte stack out-of-bounds write (bsc#1268976).
  • CVE-2026-56116: crafted Router Advertisements containing Route Information options with a zero lifetime can lead to a memory leak (bsc#1268974).
  • CVE-2026-56117: crafted privileged command sent over a writable control socket can lead to a heap use-after-free (bsc#1268968).

Changes for dhcpcd:

  • 10.5.0:
    • Add missing SPDX-License tags
    • Format code with clang-format v19
    • privsep: Change IPC to use SOCK_STREAM
    • BPF: Split OS specific code out into own files and add libpcap support
    • hooks: Escape interface names and use printf
    • Delete DHCPv6 IA FD from the loop before closing it
    • eloop: Use kqueue or epoll to wait for a fd to become ready
    • Darwin: Add initial support for macOS
    • Import latest pidfile from NetBSD
    • BPF: Improve headers
    • compat: Add support for getprogname(3)
    • route: Rework rt structure so sockaddrs are pointers
    • dhcp-common: Escape ifname for lease file
    • privsep: smaller buffer size without INET6
    • script: add ifxname as the escaped string
    • time.h always pulls in struct timespec
    • route: Use HAVE_RT_MISSFILTER rather than a generic BSD define
    • privsep: Test defines for all ioctls
    • if: if_init inits the interface from the kernel
    • privsep: Add ps_root_gethostname
    • DHCP: Don't really expire the lease when testing
    • DHCP: Don't add a trailing : on vendor if no machine arch
    • privsep: guard setproctitle and only use compat on linux
    • options: Remove some const to fix compile warnings
    • privsep: Don't open PF_INET socket for each ioctl
    • sun: Enable building for privsep
    • script: Use correct buffer length variable
    • privsep: Remove PS_BUFLEN
    • privsep: Simplify readerror
    • timezone: disallow directory traversal
    • privsep: ps_root_readfile should return the real file size
    • linux: Ensure NLA data boundaries are valid
    • options: Fix userclass boundary
    • ND6: fix OOB reject mask for an undefined option.
    • DHCP6: Ensure IA_PD Prefix Lenth is valid
    • ND: Enforce require and reject policy
    • ARP: check we have enough to read the frame header
    • hooks: Quote assignment of compat vars correctly
    • udev: Ensure we have a subsystem, action and ifname
    • Fix CI build
    • DHCP: Santize messages from servers for output
    • ARP: Iterate over states safely as the cb could remove ours
    • privsep: Check data is terminated when a string
    • auth: clear keys with memset_explicit
    • auth: Ensure remaining dlen matches hash digest length
    • hooks: don't read past truncated ip6 address starting fe
    • ipv6: Only regen temp addrs with sufficent pltime
    • eloop: Improve timespecdiff
    • eloop: Fix compile warning where UTIME_MAX is a calculation
    • vsio: Allow zero length options
    • DHCP6: Fix configuring the suffix to delegated prefixes
    • IPv6: Fix numerous issues extending temporary address times
    • capsicum: Avoid some overflow issues in privsep sysctl
    • script: Fix buffer over and under flows in script_buftoenv
    • IPv4: uset old_ia when adding an address causes early removal
    • dhcp: add configurable backoff parameters for DHCPv4
    • options: Introdce policy groups
    • Build all the targets on macos
    • control: remove unprivileged socket
    • DHCP: deconfigure even when state is NULL or NONE
Record
SUSE-SU-2026:23562-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
dhcpcd
SUSE:Linux Micro 6.2
From an advisory covering 4 CVEs
before 10.5.0-160000.1.1
10.5.0-160000.1.1
dhcpcd
SUSE:Linux Enterprise Server 16.0
From an advisory covering 4 CVEs
before 10.5.0-160000.1.1
10.5.0-160000.1.1
dhcpcd
SUSE:Linux Enterprise Server for SAP applications 16.0
From an advisory covering 4 CVEs
before 10.5.0-160000.1.1
10.5.0-160000.1.1
dhcpcd
Ubuntu:25.10
All versions, plus listed versions
1:10.1.0-81:10.1.0-101:10.1.0-111:10.1.0-121:10.2.4-31:10.2.4-4
None known
dhcpcd
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 10.5.0-1.1
10.5.0-1.1
dhcpcd
openSUSE:Leap 16.0
From an advisory covering 4 CVEs
before 10.5.0-160000.1.1
10.5.0-160000.1.1

History

History
RecordedChangedSources
affected, facts
affected
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-56115 is a high vulnerability (CVSS 8.7) in Bootimus, published June 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.45%, the 39th percentile. No source names a fixed version.

References

Show 15 moreShow less
MoveEnter Open