Skip to content

Update module github.com/cilium/ebpf to v0.22.0 [SECURITY] - #577

Open
renovate-update-app[bot] wants to merge 1 commit into
stackstate-7.78.2from
renovate/go-github.com-cilium-ebpf-vulnerability
Open

renovate-update-app[bot] wants to merge 1 commit into
stackstate-7.78.2from
renovate/go-github.com-cilium-ebpf-vulnerability

Conversation

@renovate-update-app

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
github.com/cilium/ebpf v0.21.0 → v0.22.0 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


ebpf-go is vulnerable to integer overflow via LoadCollectionSpecFromReader

CVE-2026-10722 / GHSA-xhgw-qwwf-pg32

More information

Details

A vulnerability has been found in cilium ebpf up to 0.21.0. This affects the function loadRawSpec of the file btf/btf.go of the component LoadCollectionSpec/LoadCollectionSpecFromReader. Such manipulation of the argument offset leads to integer overflow. The attack can only be performed from a local environment. The exploit has been disclosed to the public and may be used. The name of the patch is 533dfc82fd228bfadf42ea7180c39de7d9af47fa. A patch should be applied to remediate this issue.

Severity

  • CVSS Score: 1.9 / 10 (Low)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


ebpf-go is vulnerable to integer overflow via LoadCollectionSpecFromReader

CVE-2026-10722 / GHSA-xhgw-qwwf-pg32 / GO-2026-6238

More information

Details

A vulnerability has been found in cilium ebpf up to 0.21.0. This affects the function loadRawSpec of the file btf/btf.go of the component LoadCollectionSpec/LoadCollectionSpecFromReader. Such manipulation of the argument offset leads to integer overflow. The attack can only be performed from a local environment. The exploit has been disclosed to the public and may be used. The name of the patch is 533dfc82fd228bfadf42ea7180c39de7d9af47fa. A patch should be applied to remediate this issue.

Severity

  • CVSS Score: 1.9 / 10 (Low)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Integer overflow in BTF parsing in github.com/cilium/ebpf

CVE-2026-10722 / GHSA-xhgw-qwwf-pg32 / GO-2026-6238

More information

Details

Integer overflow in BTF parsing in github.com/cilium/ebpf

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


Release Notes

cilium/ebpf (github.com/cilium/ebpf)

v0.22.0: : Linux 7.1 compat, BPF tokens and vmlinux BTF caching changes

Compare Source

Hi everyone! Today we announce the v0.22.0 release of ebpf-go. We ship Linux 7.1 compatibility, older versions of the library will not work on 7.1 kernels and above, so please upgrade if you are targeting the latest releases of Linux. We also made a breaking change to BTF caching, please read those notes. And of course a few fixes, improvements and minor features.

Kernel 7.1 compatibility

In kernel 7.1 the BTF header was extended to introduce a new feature called BTF layout. This change caused our BTF parser to fail when parsing vmlinux for this kernel. This has been fixed in this latest release, we recommend upgrading to this latest release to avoid breakage on 7.1 and newer kernels.

See #​2042 for details. Special thanks to @​Capricornus007 for making the bug report that allowed us to fix this in a timely manner.

BPF token support

Some BPF-related actions require the user to have root privileges (CAP_SYS_ADMIN). One example is loading and attaching programs that can inspect kernel memory. In some environments, you may want to permit a known good process to load such BPF programs, but you don't want to grant it CAP_SYS_ADMIN to avoid privilege escalation if that process gets compromised.

BPF tokens are a mechanism that allows a privileged process to delegate fine-grained BPF capabilities to an unprivileged process. The process of delegating is complex and typically handled by a container runtime such as LXC or a process manager like systemd. This part of the handshake is currently out of scope of ebpf-go, as the library is not in charge of process creation where this delegation takes place.

However, the consuming side is what's included in this release. ebpf-go will automatically detect when the current process is running in a namespace where a BPF token is provided, and will automatically try to obtain an use it for interacting with the BPF syscall. Unlike libbpf, this currently requires no extra configuration on behalf of the application.

See #​1953 for more details.

BTF cache changes

Package btf used to cache kernel (vmlinux) BTF specs globally. This is a significant time gain when loading multiple Collections in a row. However, doing so comes at a fairly significant memory cost (~20 MiB), so users could flush this cache with btf.FlushKernelSpec. Unfortunately, the caching behaviour being opt-out means users would typically discover it while investigating memory usage, and would then have to find an appropriate time during execution to call the flush function. This was always a band-aid for something we didn't have a clear solution to.

With this update, we've removed the global cache and the btf.FlushKernelSpec function, which may slow down subsequent collection loading on busy systems. To opt back in, users can now maintain their own cache object, obtained from btf.NewCache and pass it to NewCollectionWithOptions via CollectionOptions.Cache. Typically, you would put this in a global variable in a bpf-related package in your application, or keep it around in function scope if you load multiple collections in a row.

See #​1988 for more details. Thank you @​matthyx for these changes.

New features

Bug fixes and improvements

Miscellaneous changes

New Contributors

Full Changelog: cilium/ebpf@v0.21.0...v0.22.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@renovate-update-app

Copy link
Copy Markdown
Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated

Details:

Package Change
golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39 -> v0.0.0-20260209203927-2842357ff358
honnef.co/go/tools v0.6.1 -> v0.7.0

@renovatee-approver-stackvista renovatee-approver-stackvista Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approving verified Renovate commits with native automerge enabled.

@renovate-update-app
renovate-update-app Bot force-pushed the renovate/go-github.com-cilium-ebpf-vulnerability branch 2 times, most recently from b35a2cc to 584ad4b Compare October 25, 2026 08:37
@renovate-update-app
renovate-update-app Bot force-pushed the renovate/go-github.com-cilium-ebpf-vulnerability branch from 584ad4b to 2dc52de Compare October 26, 2026 08:45

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants