Panellicense

ZDI-CAN-33367: leaked kernel local root zero-day on CloudLinux

ZDI-CAN-33367 is a public-exploit kernel local root with no CVE yet. Which CloudLinux versions are exposed, the user namespace mitigation, beta kernels, and KernelCare status.

CLAll CloudLinux articlesNews & changelogs5 min readUpdated 2026-10-29
schema: TechArticleschema: FAQPageschema: BreadcrumbList

ZDI-CAN-33367 is a Linux kernel local privilege escalation in skb_zerocopy(). Zero Day Initiative sent it to the kernel security team on 21 October 2026 and, by mistake, to public mailing lists, along with four other kernel reports. A working exploit is public, there is no CVE ID yet, and the upstream fix had not been merged into mainline at the time of writing.

It matters for hosts because the attacker only needs local code execution: an SSH user, a cron job, or a PHP shell on a compromised WordPress site. TuxCare got root with the public exploit on AlmaLinux 8–10, CloudLinux 9 and 10, Debian 12 and 13, and Ubuntu 24.04 and 26.04. As of 27 October nobody had reported exploitation in the wild.

What the bug does

The bug lets a user write into the page cache of files they can only read, which is a short step to root. It is a gap in the Dirty Frag fix (CVE-2026-43284) from May: that fix marks shared page-cache pages so the IPsec ESP code copies them before decrypting, but skb_zerocopy() drops the marker, so ESP decrypts in place. A kernel with the Dirty Frag fix, or with the fix for CVE-2026-90049 in the same function, is still vulnerable.

The public exploit needs two things:

  • Unprivileged user namespaces (user.max_user_namespaces above 0).
  • These modules, loadable on demand: nfnetlink_queue, nft_queue, nlmon, cls_u32, act_pedit, act_mirred, esp4, and xfrm_user.

Which CloudLinux versions are exposed

VersionStatus
CloudLinux 7 (3.10)Not affected
CloudLinux 7 hybrid (4.18 el7h)Exposed as shipped
CloudLinux 8, 8 ELS, 9, 9 ELSDepends on the namespace setting: servers installed since mid-2024 default to closed, older ones are exposed
CloudLinux 10Closed by default
CloudLinux for Ubuntu 22.04Closed by default; kernel comes from Canonical

Don't go by install date. Check the box:

sysctl user.max_user_namespaces

0 means ordinary accounts can't create namespaces and the public exploit path is closed. Any other value on an affected kernel means the server is exposed.

Mitigate now without a reboot

Turn off unprivileged user namespaces:

echo 'user.max_user_namespaces = 0' > /etc/sysctl.d/99-zdi-33367.conf
sysctl --system

This breaks rootless Podman and Docker, unprivileged LXC, Flatpak, and some browser sandboxes for ordinary accounts. On a typical shared cPanel or Plesk node none of those should be running as customers. To undo it, delete the file and run sysctl --system again. If you applied this for PwnEscape, you're already covered.

Where you can't disable namespaces, blocking two of the modules is a weaker fallback that CloudLinux has not verified against every variant. Check nobody uses tc pedit or nlmon first:

printf 'install nlmon /bin/false\ninstall act_pedit /bin/false\n' > /etc/modprobe.d/zdi-33367.conf
lsmod | grep -E '^(nlmon|act_pedit) '

If lsmod prints anything, the module is already loaded and the block only takes effect after a reboot.

Fixed kernels

CloudLinux released beta kernels on 26 October:

  • CloudLinux 8: kernel-4.18.0-553.177.1.lve.1.el8
  • CloudLinux 7 hybrid: kernel-4.18.0-553.177.1.lve.1.el7h
yum update 'kernel*' --enablerepo=cloudlinux-updates-testing   # CL8
yum update 'kernel*' --enablerepo=cl7h_beta                    # CL7 hybrid
reboot
uname -r

There was no CloudLinux 9 or 10 build at the last advisory update. Plain AlmaLinux 9 cPanel servers have a fix in 5.14.0-687.60.1.el9_8; AlmaLinux 8 and 10 kernels were still in testing.

KernelCare status

Livepatches are the faster route, with no reboot:

  • EL10 / CloudLinux 10: released 23 October to production and ePortal feeds.
  • EL9 / CloudLinux 9: TuxCare's 27 October update lists it as released to the production feed, not yet ePortal.
  • EL8 / CloudLinux 8: ready for release; CloudLinux 7 hybrid in preparation.
  • CloudLinux 8 ELS: no live-patching stream. Use the sysctl.
  • Debian and Ubuntu: in progress, no date.
kcarectl --update
kcarectl --patch-info | grep -i 33367

Use --patch-info, not --info, which doesn't list this issue even on a patched server. ePortal users should push the feed manually, and Imunify360 servers may already have KernelCare included.

The other leaked reports

Two ksmbd bugs (ZDI-CAN-33774 and ZDI-CAN-33549, both CVSS 9.0) are remote, but ksmbd isn't built on AlmaLinux or CloudLinux 9 and 10. On Debian or Ubuntu boxes, run systemctl disable --now ksmbd if you don't use it. The vmwgfx and nvmet reports have no public detail yet.

What is ZDI-CAN-33367?+
A Linux kernel local privilege escalation in skb_zerocopy() that lets an unprivileged user write to the page cache and get root. It leaked publicly on 21 October 2026 with a working exploit and had no CVE ID at the time of writing.
Is CloudLinux affected by ZDI-CAN-33367?+
CloudLinux 7 hybrid is exposed as shipped. CloudLinux 8 and 9 are exposed if unprivileged user namespaces are enabled, which is the default on older installs. CloudLinux 10 and CloudLinux for Ubuntu 22.04 are closed by default. CloudLinux 7 is not affected.
How do I mitigate ZDI-CAN-33367 without rebooting?+
Set user.max_user_namespaces = 0 in a file under /etc/sysctl.d/ and run sysctl --system. It takes effect immediately and closes the public exploit path, at the cost of rootless containers and Flatpak for ordinary users.
Does KernelCare patch ZDI-CAN-33367?+
Yes for EL10 and EL9, with EL8 ready for release as of 27 October 2026. Run kcarectl --update, then check with kcarectl --patch-info | grep -i 33367.
Does the Dirty Frag fix protect against ZDI-CAN-33367?+
No. The new bug is a gap in the CVE-2026-43284 fix, and AlmaLinux was rooted with Dirty Frag patched. You need a kernel or livepatch that specifically fixes skb_zerocopy().

Next steps

changelog
Infinity Core CVE-2026-98260: kernel root bugs on CloudLinux
Infinity Core: six Linux kernel local-root bugs with public exploits. Fixed CloudLinux 9 and 10 kernels, KernelCare livepatch status, and what to do on shared hosts.
5 min read
changelog
bridge-stp-uaf (CVE-2026-72389): the CloudLinux kernel advisory
A use-after-free in the kernel bridge STP timer code lets a local user who can configure a network bridge become root. CloudLinux 7h and 8 need the modprobe mitigation now.
5 min read
changelog
Three CISA KEV kernel CVEs: patching CloudLinux servers now
CISA lists CVE-2025-39964, CVE-2026-53266, and CVE-2025-39682 as exploited in the wild. Per-branch CloudLinux status, kernel builds, livepatches, and the one mitigation.
5 min read
changelog
PwnEscape CVE-2026-99999: KVM escape status for CloudLinux
PwnEscape (CVE-2026-99999) lets a VM guest write into host IPv4 headers. CloudLinux branch status, the KernelCare livepatch, and mitigations for VPS and shared hosts.
5 min read
changelog
RtabRace (CVE-2026-68138): mitigating the kernel race on CloudLinux
A traffic-control race in the Linux kernel lets any shell user panic a shared server on demand. CloudLinux 8 and 7 Hybrid need the sysctl mitigation today — here's the command and the patch status.
5 min read
how to
KernelCare live patching on cPanel: zero-reboot kernel CVEs
How to install KernelCare on a cPanel server so kernel CVEs patch live without a reboot — verification commands, rollback steps, and the userspace caveat.
8 min read
Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.