Six major distros shipped fresh security fixes today, with Ubuntu stacking 48 notices and Red Hat delivering 82 advisories across RHEL 7 through 10. Ubuntu's Pillow update took a particularly heavy hit with 39 CVEs, while RHEL's fence-agents patch warrants attention since it controls node power in clusters. Debian's batch centers on Firefox ESR with roughly 80 patches and a 23-CVE Apache 2 fix, and Fedora bundled nine Rust crypto crates plus major updates for RabbitMQ and strongSwan. Several fixes require a reboot, so admins should scan their platform versions, flag the Critical entries, and schedule downtime accordingly.
Linux Security Roundup: Ubuntu Stacks 48 Notices, RHEL Ships 82 Advisories
A daily sweep of fresh security fixes across Debian, Fedora, RHEL, Rocky, SUSE, and Ubuntu. A few of these deserve more than a quick click.
Ubuntu's Pillow update took 39 hits. That's buffer overflows in the TIFF and JPEG decoders plus a Ghostscript argument injection that chains into command execution. Keep in mind Pillow is used everywhere, from web apps to imaging pipelines, so this is arguably the single most actionable fix of the day. All of it already sits in the repos for Ubuntu 24.04 and newer.
Red Hat's headline is the 82-advisory count across RHEL 7 through 10. Ten are Critical. The one you actually want to chase is the fence-agents patch on RHEL 9.8 EUS. Those packages control node power in a cluster, so a hole there means someone could quietly reboot your whole infrastructure.
Red Hat also handed us a genuine curiosity. Several 7.6.14 Single Sign-On advisories are titled "Critical" while the body text rates the impact as "none." A Critical patch with no security impact is a contradiction. It doesn't quite make sense, and it's the kind of labeling glitch that makes you question the whole severity system. Two of the SSO updates are just package refreshes. One is an OpenShift image. One comes from the Customer Portal, where it politely rates itself "Important" instead.
Debian's batch is all about the browser and mail client, which is where you really don't want to be running untrusted content. Firefox ESR got roughly 80 CVEs patched across bookworm, trixie, and even aging bullseye — the last of those only through FreeX's paid extended-LTS program. Thunderbird came along with the same pile plus five extra.
Apache 2 is the other Debian headline. The bookworm LTS fix covers a 23-CVE list including remote code execution, authentication bypass, and HTTP request smuggling. If you're still on bookworm with a public-facing web server, that long tail is the part that bites. The rest of the Debian pile is a mixed bag: Django closed a cache bug that served private responses to the wrong people, node-shell-quote can be tricked into shell injection, and mutt took a heap overflow through a malicious email header.
A cluster and a couple of reboots
Fedora's batch is a fine example of security work that stays invisible until it isn't. Nine Rust crypto crates shipped together under one advisory, RUSTSEC-2026-0387, tightening the constant-time math inside crypto-bigint. The same set is duplicated verbatim on Fedora 43 and 44. No single piece is dramatic. The whole cluster just moves because they're all married to one lower-level crate.
Then the CVEs cluster by whoever happened to be shipping that day. RabbitMQ took seven advisories in one 4.2.9 backport. strongSwan rode in with eleven CVEs around its VPN code. The Jackson stack moved as a unit to kill six problems, including an @JsonIgnore bypass in Java records.
A few bite in ways people notice. PyMuPDF picked up an arbitrary-code-execution overflow in annotation handling. pylint took a hit for RCE through untrusted cache deserialization. Libvirt closes an integer overflow in a page-management RPC that turns into a heap overflow. Xen is getting a full buffet of hypervisor fixes too, some still carrying CVE numbers from years ago because the flaws themselves are old even when the patch is brand new.
Then there are the quiet rebuilds that fix nothing you can name. routinator was rebuilt against webpki-roots to drop an emSign root CA. ignition was re-linked against a patched Go toolchain so it quietly accepts the fix for a compromised eMudhra certificate chain. The source code didn't change. The binary did. Head here if a changelog ever tells you exactly that and you want to know what actually moved underneath.
Rocky Linux put most of its weight on version 10, which took about half the batch. 24 Important, 4 Moderate, a single Low. The kernel and kernel-rt updates want a reboot, so schedule downtime up front. The mysql:8.4 update secretly covers mecab and perl-DBD-MySQL as well, so don't assume a database-only name means a database-only change.
SUSE's headline is python-Twisted for SLES. It's rated important, covers seven vulnerabilities, and the worst of them is CVE-2026-83813, a DNS spoofing hole in twisted.names from missing source address validation. SUSE scored it a 9.2. If you run Twisted-based network code, this is the one to install. The rest of the SUSE batch is openSUSE Tumbleweed, all moderate, and tidy is tidy.
A Detailed Overview of the Updates
Debian GNU/Linux
Debian pushed a chunky batch of security patches, so if anything in the list below runs under your load, you owe yourself a five-minute update.
Firefox is where the drama is. Firefox ESR got roughly 80 CVEs patched across bookworm, trixie, and even aging bullseye via FreeX's paid extended-LTS program. Thunderbird came along with the same pile, plus five extra. Those are your browser and email client, the two places you really don't want running untrusted content.
Apache 2 is the other headline. The trixie stable touch fixes three CVEs, but the bookworm LTS fix covers a 23-CVE list that includes remote code execution, authentication bypass, and HTTP request smuggling. If you're still on bookworm with a public-facing web server, that long tail is the part that bites.
The rest is a mixed bag worth scanning: Django closed a memory-exhaustion hole on base64 uploads and a Vary-header cache bug that served private responses to the wrong people. node-shell-quote can now be tricked into executing shell commands or stalling under quadratic work. mutt took a heap overflow through a malicious email header on top of a handful of smaller fixes. Tomcat 10 picked up request-smuggling and DoS hardening. nova and parted are the quiet DoS-only fixes.
| Package | Advisory | Release | Version | CVEs | Impact |
|---|---|---|---|---|---|
| apache2 | DSA 6620-1 | trixie | 2.4.71-1~deb13u1 | 3 | RCE, DoS, info disclosure |
| apache2 | DLA 4902-1 | bookworm | 2.4.71-1~deb12u1 | 23 | RCE, DoS, info disclosure, auth bypass, HTTP request smuggling |
| firefox-esr | DLA 4896-1 | bookworm | 153.7.0esr-1~deb12u1 | ~81 | RCE, sandbox escape, priv esc, same-origin bypass, spoofing |
| firefox-esr | DSA 6622-1 | trixie | 153.7.0esr-1~deb13u1 | ~81 | RCE, sandbox escape, priv esc, same-origin bypass, spoofing |
| firefox-esr | ELA-1885-1 | bullseye | 153.7.0esr-1~deb11u1 | ~81 | RCE, sandbox escape, priv esc, spoofing (FreeX paid LTS) |
| thunderbird | DSA 6621-1 | trixie | 1:153.7.0esr-1~deb13u1 | ~86 | RCE, info disclosure |
| thunderbird | DLA 4898-1 | bookworm | 1:153.7.0esr-1~deb12u1 | ~86 | RCE, info disclosure |
| mutt | DLA 4897-1 | bookworm | 2.2.12-0.1~deb12u2 | 7 | heap OOB write, NULL deref, infinite loop, IMAP auth flaws |
| python-django | DLA 4903-1 | bookworm | 3:3.2.25-0+deb12u7 | 2 | memory exhaustion, cache poisoning / private data leak |
| tomcat10 | DSA 6623-1 | trixie | 10.1.60-1~deb13u1 | 19 | info disclosure, HTTP request smuggling, DoS |
| node-shell-quote | DLA 4901-1 | bookworm | 1.7.4+~1.7.1-1+deb12u2 | 2 | shell command injection, DoS (quadratic) |
| nova | DLA 4900-1 | bookworm | 2:26.2.2-1~deb12u5 | 1 | DoS |
| parted | DLA 4899-1 | bookworm | 3.5-3+deb12u1 | 2 | DoS |
Fedora Linux
Fedora pushed a batch of security fixes across three releases at once, so if you run any of this software you probably want to schedule a dnf upgrade. The updates land on Fedora 43, 44, and 45, and nearly all of them are closing holes people can actually exploit rather than the occasional polish release.
A chunk of this batch is really one update wearing a lot of hats. Rust maintainers shipped a matching set of nine crypto crates together (crypto-bigint, elliptic-curve, num-bigint, num-modular, ctutils, zmij, and num-prime) pinned to a single advisory, RUSTSEC-2026-0387, which tightens the constant-time math inside crypto-bigint. You will see that same set duplicated verbatim on F43 and F44. It is the kind of dependency update where no single piece is dramatic on its own, but the whole cluster moves because they are all married to one lower-level crate.
The CVEs cluster by whoever happens to be shipping that day. RabbitMQ took the biggest single hit, with seven advisories jammed into one 4.2.9 backport, ranging from memory-exhausting parsers to a stale OAuth impersonator tag that let revoked users linger on a connection. strongSwan rides the same wave with eleven CVEs around its VPN code, and the Jackson stack (core, databind, modules-base, and the bill-of-materials POM) moved as a unit to kill off six problems spanning denial-of-service traps and an @JsonIgnore bypass in Java records.
A few stand out because they bite in ways people notice. PyMuPDF gets patched for an arbitrary-code-execution overflow in annotation handling, and pylint takes a hit for arbitrary code execution through untrusted cache deserialization. Libvirt's fix closes an integer overflow in a page-management RPC that turns into a heap overflow. Xen is getting an entire buffet of hypervisor fixes, some carrying CVE numbers from years ago because the vulnerabilities are old even when the patch is brand new.
Then there are the quiet rebuilds that fix nothing you can name. routinator was rebuilt against webpki-roots to drop an emSign root CA, and ignition was re-linked against a patched Go toolchain so it quietly accepts the fix for a compromised eMudhra certificate chain. The source code did not change. The binary did. Worth knowing when the changelog tells you exactly that.
The list runs long, and the table below breaks down what each package actually did.
| Package | Version + Target | Key fix |
|---|---|---|
| mod_http2 | 2.0.42-3 / F43 | CVE-2026-119618 (HTTP/2 over Apache) |
| rust-elliptic-curve | 0.14.3-1 / F43 | crypto-bigint 0.7.10 bump (RUSTSEC-2026-0387) |
| rust-num-bigint (0.4 compat) | 0.4.8-1 / F43 | Part of the crypto-bigint bundle |
| strongswan | 6.1.0-2 / F43 | 11 CVEs: 78123, 78124, 78126-78127, 78129-78135 |
| rust-zmij | 1.0.23-1 / F43 | Part of the crypto-bigint bundle |
| rust-crypto-bigint | 0.7.10-1 / F43 | RUSTSEC-2026-0387 constant-time hardening |
| rust-num-modular (0.6 compat) | 0.6.5-1 / F43 | Part of the crypto-bigint bundle |
| rust-num-prime | 0.5.0-3 / F43 | Drops a dead num-modular/num-integer feature |
| rust-num-modular | 0.7.0-1 / F43 | Part of the crypto-bigint bundle |
| rust-num-bigint | 0.5.1-1 / F43 | Part of the crypto-bigint bundle |
| rust-ctutils | 0.4.8-1 / F43 | Part of the crypto-bigint bundle |
| pylint | 3.3.9-3 / F43 | CVE-2026-114608 (arbitrary code execution via cache deserialization) |
| mongo-c-driver | 1.30.15-1 / F43 | CVE-2026-120955, 120956, 120684, 120678 |
| rust-routinator | 0.15.2-5 / F43 | Rebuilt on webpki-roots 1.0.11, drops emSign root CA |
| ignition | 2.28.0-2 / F43 | Re-linked Go 1.26.10 for CVE-2026-111943 (eMudhra CA) |
| zvbi | 0.2.46-1 / F43 | CVE-2026-110654 (DoS in Teletext decoder) |
| libvirt | 11.6.0-4 / F43 | CVE-2026-18917 (integer overflow / heap overflow in page RPC) |
| mod_http2 | 2.0.42-2 / F44 | CVE-2026-119618 |
| httpd | 2.4.71-1 / F44 | Version bump, pairs with mod_http2 |
| strongswan | 6.1.0-1 / F44 | Same 11 CVEs as F43 |
| rust-zmij | 1.0.23-1 / F44 | Part of the crypto-bigint bundle |
| rust-num-bigint (0.4 compat) | 0.4.8-1 / F44 | Part of the crypto-bigint bundle |
| rust-elliptic-curve | 0.14.3-1 / F44 | Part of the crypto-bigint bundle |
| rust-ctutils | 0.4.8-1 / F44 | Part of the crypto-bigint bundle |
| rust-num-prime | 0.5.0-3 / F44 | Drops a dead feature |
| rust-num-modular | 0.7.0-1 / F44 | Part of the crypto-bigint bundle |
| rust-num-modular (0.6 compat) | 0.6.5-1 / F44 | Part of the crypto-bigint bundle |
| rust-num-bigint | 0.5.1-1 / F44 | Part of the crypto-bigint bundle |
| rust-crypto-bigint | 0.7.10-1 / F44 | RUSTSEC-2026-0387 constant-time hardening |
| prometheus | 3.15.1-1 / F44 | CVE-2026-113650, 113654, 113657, 113661, 119566 |
| pylint | 4.0.5-3 / F44 | CVE-2026-114608 |
| python-PyMuPDF | 1.28.2-2 / F44 | CVE-2026-120752 (arbitrary code execution) |
| erlang-ssl_verify_fun | 1.1.9-1 / F44 | CVE-2026-117666 (wildcard cert label-boundary match) |
| rabbitmq-server | 4.2.9-5 / F44 | CVE-2026-67421, 67414, 67416, 67418, 67420 (67409/67410 upstream) |
| mongo-c-driver | 1.30.15-1 / F44 | CVE-2026-120955, 120956, 120684, 120678 |
| python-loguru | 0.7.3-23 / F44 | CVE-2026-120217 (regex DoS) |
| rust-routinator | 0.15.2-5 / F44 | webpki-roots rebuild, drops emSign root CA |
| ignition | 2.28.0-2 / F44 | Go toolchain rebuild (eMudhra CA fix) |
| libvirt | 12.0.0-6 / F44 | CVE-2026-18917 + ceph pool start fix |
| python-discovery | 1.9.4-1 / F44 | Security fixes, no specific CVE named |
| mod_http2 | 2.0.42-1 / F45 | CVE-2026-119618 |
| httpd | 2.4.71-1 / F45 | Version bump |
| cockpit | 372-1 / F45 | CVE-2026-91151, 91150 (privilege escalation via symlink) |
| xen | 4.21.2-7 / F45 | XSA-524 (CVE-2024-21963), XSA-525 (CVE-2024-36350/36357/2026-0004) |
| poppler | 26.08.0-2 / F45 | CVE-2026-102621, 102620, 107705, 93653 |
| xorg-x11-server | 21.1.26-1 / F45 | 8 CVEs: 109091-109096, 109903, 109904 |
| prometheus | 3.15.1-1 / F45 | CVE-2026-113650, 113654, 113657, 113661, 119566 |
| python-PyMuPDF | 1.28.2-2 / F45 | CVE-2026-120752 |
| erlang-ssl_verify_fun | 1.1.9-1 / F45 | CVE-2026-117666 |
| mongo-c-driver | 2.5.8-1 / F45 | CVE-2026-120954, 120955, 120956, 120684, 120678 |
| python-loguru | 0.7.3-23 / F45 | CVE-2026-120217 |
| rust-routinator | 0.15.2-5 / F45 | webpki-roots rebuild |
| jackson-modules-base | 2.21.8-1 / F45 | CVE-2026-89407, 89425, 68497, 83557, 19032, 91777 |
| jackson-core | 2.21.8-1 / F45 | Same six Jackson CVEs |
| jackson-databind | 2.21.8-1 / F45 | Same six Jackson CVEs |
| jackson-bom | 2.21.8-1 / F45 | Same six Jackson CVEs |
| python-discovery | 1.9.4-1 / F45 | Security fixes, no specific CVE named |
| libvirt | 12.6.0-4 / F45 | CVE-2026-18917 + ceph pool start fix |
Red Hat Enterprise Linux
Red Hat shipped another errata batch, and this one is unusually large. The digest covers eighty-two advisories across RHEL 7 through 10, with a few product updates folded in. Most land on the "Important" scale. Eight are "Moderate," one is "Low," and ten carry a "Critical" title.
The Criticals are the ones worth your attention. Five Satellite async updates (6.16, 6.17, and 6.18) show up, along with a fence-agents patch on RHEL 9.8 EUS and an OpenStack manila fix. The fence-agents one is the kind you don't want to skip: those packages control node power in a cluster, so a hole there means someone could quietly reboot your whole infrastructure.
There is a wrinkle in the Single Sign-On releases. Red Hat titles several 7.6.14 advisories "Critical," yet the body text rates the security impact as "none." A patch with no security impact and a Critical label is a contradiction that doesn't quite make sense. Two of the SSO updates are just package refreshes for RHEL 7, 8, and 9. One is an OpenShift image aimed at older container platforms, and one comes straight from the Customer Portal, where it notes the impact as "Important" rather than "none."
Cockpit, Red Hat's web console, turns up far more often than you'd expect for something you're supposed to configure once and forget. It spans RHEL 8, 9, and 10 plus the EUS tracks. The Fedora 45 digest for it names two CVEs tied to local privilege escalation through bad symlink handling in the public-key helper, which is a path an attacker could actually climb. krb5, xfsprogs, glib-networking, and rhc each get several errata, mostly spread across the EUS and mission-critical tracks. Curl gets a Low rating this round and xz lands at Moderate, which still draws a glance given its checkered history.
You don't need to work through all eighty-two lines to get value from this. Scanning for your platform versions and flagging the Criticals is the sensible move. The table below lists every advisory in the batch.
| RHSA ID | Package / Component | Severity | Platform(s) | Notes |
|---|---|---|---|---|
| 99600 | cockpit | Important | RHEL 10 | n/a |
| 99603 | cockpit | Important | RHEL 8 | n/a |
| 99597 | gdb | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99596 | gdb | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99594 | gdb | Important | RHEL 8.4 AMCUSS, EUS LL | n/a |
| 99576 | rsync | Important | RHEL 10.2 EUS | n/a |
| 99592 | openssh | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99575 | aspell | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99573 | openssh | Important | RHEL 8.4 AMCUSS, EUS LL | n/a |
| 99565 | libX11 | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99566 | libX11 | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99515 | xorg-x11-server-Xwayland | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99510 | firefox | Important | RHEL 8.4 AMCUSS, EUS LL | security, bug fix, enhancement |
| 99119 | util-linux | Important | RHEL 9.8 EUS | n/a |
| 99149 | qt5-qtbase | Important | RHEL 9.8 EUS | n/a |
| 99159 | nginx:1.26 module | Important | RHEL 9.8 EUS | n/a |
| 99624 | krb5 | Important | RHEL 10 | security, bug fix, enhancement |
| 99602 | cockpit | Important | RHEL 9 | n/a |
| 99595 | rpm | Moderate | RHEL 10 | n/a |
| 99593 | rpm | Moderate | RHEL 9 | n/a |
| 98418 | gd | Important | RHEL 7 ELS | n/a |
| 99117 | crun | Important | RHEL 9.8 EUS | n/a |
| 99601 | cockpit | Important | RHEL 9.8 EUS | n/a |
| 99763 | Red Hat Single Sign-On 7.6.14 | Critical | Customer Portal | body rates impact "Important" |
| 99725 | compat-openssl10 | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99722 | kpatch-patch 6_12_0-211_16_1 & 6_12_0-211_49_1 | Important | RHEL 10 | multiple packages |
| 99630 | kernel | Important | RHEL 9.6 EUS | security, bug fix, enhancement |
| 99660 | xfsprogs | Important | RHEL 10 | n/a |
| 99707 | libpcap | Important | RHEL 9 | n/a |
| 99643 | curl | Low | RHEL 10.2 EUS | n/a |
| 99662 | xfsprogs | Important | RHEL 9.8 EUS | n/a |
| 99632 | gcc-toolset-15-gcc | Moderate | RHEL 8 | n/a |
| 99611 | xorg-x11-server | Moderate | RHEL 9 | n/a |
| 99623 | tigervnc | Important | RHEL 8 | n/a |
| 99625 | krb5 | Important | RHEL 10.2 EUS | security, bug fix, enhancement |
| 99613 | host-metering | Important | RHEL 7 ELS | n/a |
| 99599 | cockpit | Important | RHEL 10.2 EUS | n/a |
| 99572 | firefox | Important | RHEL 10 | n/a |
| 99571 | firefox | Important | RHEL 10.2 EUS | n/a |
| FEDORA-2026-ce39bee660 | cockpit 372-1.fc45 | n/a (automatic) | Fedora 45 | CVE-2026-91151, CVE-2026-91150 |
| 99950 | Satellite 6.17.13 | Critical | RHEL 9 | async update |
| 99952 | Satellite 6.18.11 | Critical | RHEL 9 | async update |
| 99949 | Satellite 6.16.15 | Critical | RHEL 8 and 9 | body rates impact "Important" |
| 99947 | OpenStack Platform 17.1 (openstack-manila) | Critical | OpenStack 17.1 Wallaby | n/a |
| 99741 | mysql:8.4 module | Important | RHEL 9 | n/a |
| 99715 | krb5 | Important | RHEL 9 | security, bug fix, enhancement |
| 99825 | pki-deps:10.6 module | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99915 | xz | Moderate | RHEL 10.0 EUS | n/a |
| 99695 | glib-networking | Important | RHEL 9 | n/a |
| 99849 | perl-CGI | Important | RHEL 8 | n/a |
| 99845 | pki-deps:10.6 module | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99716 | krb5 | Important | RHEL 9.8 EUS | security, bug fix, enhancement |
| 99817 | xfsprogs | Important | RHEL 8 | n/a |
| 99864 | glib2 | Moderate | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99846 | pki-deps:10.6 module | Important | RHEL 8.4 AMCUSS, EUS LL | n/a |
| 99826 | rhc | Important | RHEL 7 ELS | n/a |
| 99720 | mysql8.4 | Important | RHEL 10 | n/a |
| 99827 | rhc | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99824 | rhc | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99754 | libX11 | Important | RHEL 7 ELS | n/a |
| 99745 | libXtst | Important | RHEL 7 ELS | n/a |
| 99746 | qt5-qtbase | Important | RHEL 7 ELS | n/a |
| 99693 | fence-agents | Critical | RHEL 9.8 EUS | n/a |
| 99758 | osbuild-composer | Important | RHEL 8.6 AMCUSS, EUS LL | n/a |
| 99749 | thunderbird | Important | RHEL 9.2 SAP | security, bug fix, enhancement |
| 99764 | Red Hat Single Sign-On 7.6.14 | Critical | RHEL 7 | body rates impact "none" |
| 99765 | Red Hat Single Sign-On 7.6.14 | Critical | RHEL 8 | body rates impact "none" |
| 99766 | Red Hat Single Sign-On 7.6.14 | Critical | RHEL 9 | body rates impact "none" |
| 99724 | compat-openssl10 | Important | RHEL 8.8 SAP, Telecom | n/a |
| 99723 | dnsmasq | Important | RHEL 7 ELS | n/a |
| 99767 | Red Hat Single Sign-On 7.6.14 (OpenShift image) | Critical | OCP 3.10/3.11 and 4.3 | n/a |
| 99697 | glib-networking | Important | RHEL 9.8 EUS | n/a |
| 99726 | compat-openssl10 | Important | RHEL 8.4 AMCUSS, EUS LL | n/a |
| 99691 | python3 | Moderate | RHEL 8 | n/a |
| 99659 | xfsprogs | Important | RHEL 10.2 EUS | n/a |
| 99661 | xfsprogs | Important | RHEL 9 | n/a |
| 99690 | libpcap | Important | RHEL 10 | n/a |
| 99702 | webkit2gtk3 | Important | RHEL 8 | n/a |
| 99698 | glib-networking | Important | RHEL 10.2 EUS | n/a |
| 99696 | glib-networking | Important | RHEL 10 | n/a |
| 99865 | xorg-x11-server | Moderate | RHEL 8 | n/a |
Rocky Linux
Rocky Linux shipped a fresh batch of errata advisories across versions 8, 9, and 10, and there's more here than you'd expect from an ordinary Tuesday. The weight of it lands on Rocky Linux 10, which picked up about half of all the advisories, spanning everything from cockpit-podman to wireshark. Rocky Linux 8 gets six updates, including a kernel patch and a proper gcc security fix, while Rocky Linux 9 gets the short end of the stick with just two.
The severity spread is pretty typical for a batch like this: 24 Important, 4 Moderate, and a single Low. The Low is edk2, which is firmware stuff you'll probably never notice unless you boot a VM with custom firmware. A few advisories pull in extra packages under their headline name, so the mysql:8.4 update actually covers mecab and perl-DBD-MySQL if you happen to run them. Don't assume a database-only name means a database-only change.
Two things are worth a closer look. The kernel and kernel-rt updates are the ones that genuinely want a reboot, so schedule downtime for those. Then there's a paired set of go-fdo-client and go-fdo-server advisories, which suggests whoever runs that remote device identity stack should patch first and file the ticket later. The Node.js 26 update rolls security, bug fixes, and enhancements into one bundle, which is a convenience if you were already on 26 and a scheduling headache if you weren't.
| RLSA ID | Package | Severity | Affected Version | Notes |
|---|---|---|---|---|
| RLSA-2026:98099 | kernel | Important | Rocky Linux 8 | Reboot-worthy |
| RLSA-2026:98100 | kernel-rt | Important | Rocky Linux 8 | Reboot-worthy |
| RLSA-2026:98103 | qt5-qtbase | Important | Rocky Linux 8 | |
| RLSA-2026:98105 | libimobiledevice | Important | Rocky Linux 8 | |
| RLSA-2026:98115 | gcc | Moderate | Rocky Linux 8 | |
| RLSA-2026:98119 | vim | Important | Rocky Linux 8 | Security + bugfix + enhancements |
| RLSA-2026:98522 | nodejs:26 | Important | Rocky Linux 9 | Security + bugfix + enhancements |
| RLSA-2026:99741 | mysql:8.4 | Important | Rocky Linux 9 | Also covers mecab, perl-DBD-MySQL, and related modules |
| RLSA-2026:96082 | yggdrasil-worker-package-manager | Moderate | Rocky Linux 10 | |
| RLSA-2026:97090 | subscription-manager-cockpit | Important | Rocky Linux 10 | |
| RLSA-2026:97163 | mingw-glib2 | Moderate | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97191 | delve | Important | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97193 | cockpit-podman | Important | Rocky Linux 10 | |
| RLSA-2026:97194 | cockpit-files | Important | Rocky Linux 10 | |
| RLSA-2026:97212 | edk2 | Low | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97213 | grafana-pcp | Important | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97215 | grafana | Important | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97229 | skopeo | Important | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97288 | yggdrasil | Important | Rocky Linux 10 | Security + bugfix + enhancements |
| RLSA-2026:97386 | go-fdo-client | Important | Rocky Linux 10 | |
| RLSA-2026:97387 | go-fdo-server | Important | Rocky Linux 10 | |
| RLSA-2026:98089 | wireshark | Important | Rocky Linux 10 | |
| RLSA-2026:98555 | buildah | Important | Rocky Linux 10 | |
| RLSA-2026:98583 | fetchmail | Moderate | Rocky Linux 10 | |
| RLSA-2026:98584 | glycin-loaders | Important | Rocky Linux 10 | |
| RLSA-2026:98591 | librsvg2 | Important | Rocky Linux 10 | |
| RLSA-2026:98604 | libXtst | Important | Rocky Linux 10 | |
| RLSA-2026:98605 | libXrender | Important | Rocky Linux 10 | |
| RLSA-2026:98635 | xdg-dbus-proxy | Important | Rocky Linux 10 |
SUSE Linux
SUSE rolled out its usual mix of security fixes, and the headline is the python-Twisted update for SUSE Linux Enterprise. It's rated "important," it covers seven vulnerabilities, and it's the only one here that actually warrants an eyebrow raise rather than a quick click. The worst of the lot is CVE-2026-83813, a DNS spoofing hole in twisted.names from missing source address validation. SUSE scored it a 9.2, NVD a still-slick 8.1, so if you run any Twisted-based network code, this is the one to install. The other six are mostly denial-of-service conditions: a negative-size IMAP search, a memory-exhausting XML stream parser, an unbounded IRC buffer, a Telnet negotiation blowup, an HTTP request smuggling bug, and a ReDoS from a misused re.compile() in the wildcard regex helper.
The rest of this batch is openSUSE Tumbleweed, all moderate, all delivered on GA media. It reads like a sampling of whatever Go-based tooling people have lying around: prometheus, cadvisor, hauler, gosec, goose, github-mcp-server, plus Google's guest and osconfig agents and a distribution-registry bump. Fewest fixes is one CVE each; distribution-registry grabbed four. Nothing here is going to keep you up at night, but tidy is tidy.
| Announcement | Rating | # of CVEs | Product(s) | Notable CVEs |
|---|---|---|---|---|
| SUSE-SU-2026:5215-1 | important | 7 | SUSE Linux Enterprise 15 SP4–SP7, SLES for SAP, HPC, SUSE Manager, openSUSE Leap 15.4, Python 3 Module 15-SP7 | CVE-2026-83813 (DNS spoofing, 9.2), CVE-2026-115775 (DoS, 8.7), CVE-2026-115776, CVE-2026-115778 |
| openSUSE-SU-2026:12285-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-93753 (prometheus) |
| openSUSE-SU-2026:12282-1 | moderate | 2 | openSUSE Tumbleweed | CVE-2026-78669 (7.5), CVE-2026-97032 (5.9) — cadvisor |
| openSUSE-SU-2026:12291-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-111943 (7.4) — hcloud-cli |
| openSUSE-SU-2026:12289-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-97032 (5.9) — gosec |
| openSUSE-SU-2026:12288-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-111079 — goose |
| openSUSE-SU-2026:12287-1 | moderate | 2 | openSUSE Tumbleweed | CVE-2026-78659 (7.5), CVE-2026-78663 (5.3) — google-osconfig-agent |
| openSUSE-SU-2026:12290-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-114437 (6.5/6.9) — hauler |
| openSUSE-SU-2026:12286-1 | moderate | 2 | openSUSE Tumbleweed | CVE-2026-78659, CVE-2026-78663 — google-guest-agent |
| openSUSE-SU-2026:12284-1 | moderate | 1 | openSUSE Tumbleweed | CVE-2026-111943 (7.4) — github-mcp-server |
| openSUSE-SU-2026:12283-1 | moderate | 4 | openSUSE Tumbleweed | CVE-2026-78659, CVE-2026-78660, CVE-2026-78663, CVE-2026-9703 — distribution-registry |
Ubuntu Linux
Ubuntu pushed out a fairly large batch of security fixes between November 10 and 12, and 48 separate notices piled up across those three days. The batch splits into two halves worth keeping straight. The first covers current releases and carries the higher-severity flaws you would actually patch today. The second is mostly older software living on long past standard support, with a good number of fixes that ship only through Ubuntu Pro for 16.04 and 18.04.
The current-release fixes matter most right now. .NET, Pillow, Apache HTTP Server, and the GNU C Library each shipped a multi-CVE update. Pillow alone took 39 hits, spanning buffer overflows in the TIFF and JPEG decoders up through a Ghostscript argument injection that lets an attacker chain things into command execution. That .NET fix quietly bundled 15 CVEs, and glibc came with seven, including a setuid $ORIGIN race that hands a local attacker elevated privileges. Apache rounded it out with five, covering mod_dav lock handling, mod_http2 heap corruption, and a CGI redirect hole that executes code. None of these are theoretical, and all of them already live in the repos for Ubuntu 24.04 and newer.
The rest of the pile is older. The single worst offender is the set of long-lived CVEs resurfacing on ESM systems: Babel and Ruby OpenID give remote code execution, Action Pack lets an attacker write files onto your web server, and libjwt's non-constant-time HMAC comparison hands forged tokens to anyone patient enough to time a response. Then there are the quieter holes that make life annoying rather than catastrophic, like the HTTP request-smuggling bug in gevent, a Kerberos ACL on Debian-LAN that lets any local user change other people's passwords, and TigerVNC treating certificate exceptions as trusted CAs. Leave these sitting around and you are banking on someone never finding them.
Two kernel updates need a plan before you just run the upgrade. USN-9021-1 (Raspberry Pi kernel on 26.04) and USN-9066-1 (HWE kernel on 22.04) both require a reboot, and both carry the familiar ABI-change warning that forces you to recompile any third-party modules you built by hand. If you run out-of-tree drivers, budget a few minutes of frustration.
| USN | Package | What the flaw allows | Releases | CVE(s) |
|---|---|---|---|---|
| USN-9021-1 | linux-raspi (Raspberry Pi kernel) | Local RCE/DoS via AMD SEV-SNP and io_uring; reboot + ABI change | 26.04 LTS | 2023-20585, 2026-80811, 2026-81009, 2026-81010, 2026-97618 |
| USN-9042-1 | dotnet8 / dotnet10 / dotnet11 | Multiple .NET runtime/CLI flaws | 22.04, 24.04, 26.04, 26.10 | 15 CVEs (2026-series) |
| USN-9047-1 | asyncpg | RCE/DoS from a misbehaving PostgreSQL server | 18.04, 20.04 (ESM) | 2020-17446 |
| USN-9048-1 | libawl-php (AWL) | Guessable session keys/cookies, session hijack | 16.04, 18.04 (ESM) | 2020-11728, 2020-11729 |
| USN-9049-1 | btrbk | Command execution from crafted SSH input | 18.04, 20.04 (ESM) | 2021-38173 |
| USN-9050-1 | DAViCal | XSS + CSRF, admin account takeover | 18.04 (ESM) | 2019-18345, 18346, 18347 |
| USN-9051-1 | libfcgi (FastCGI) | Heap overflow, RCE/DoS | 16.04, 18.04, 20.04 (ESM) | 2025-23016 |
| USN-9052-1 | liblogback-java | RCE from crafted network input | 16.04 (ESM) | 2017-5929 |
| USN-9053-1 | network-manager-ssh | Local privilege escalation via VPN options | 18.04 (ESM) | 2020-9355 |
| USN-9054-1 | node-babel | RCE compiling crafted code | 18.04, 20.04 (ESM) | 2023-45133 |
| USN-9055-1 | php-pecl-http | Type confusion, RCE/DoS | 16.04 (ESM) | 2016-7398 |
| USN-9056-1 | prosody-modules | LDAP check bypass grants admin | 16.04, 18.04 (ESM) | 2020-8086 |
| USN-9057-1 | rkhunter | RCE from insecure mirror updates | 16.04 (ESM) | 2017-7480 |
| USN-9058-1 | ruby-actionpack-page-caching | Arbitrary file write, possible RCE | 16.04, 18.04, 20.04 (ESM) | 2020-8159 |
| USN-9059-1 | ruby-jwt | Forged tokens via empty HMAC key | 24.04, 26.04 standard; 16.04-22.04 (ESM) | 2026-45363 |
| USN-9060-1 | ruby-kramdown | Template processing, file read/RCE | 16.04, 18.04 (ESM) | 2020-14001 |
| USN-9061-1 | libshiro-java | Auth bypass with Spring controllers | 16.04 (ESM) | 2020-11989, 2020-1957 |
| USN-9062-1 | snmptt | Shell commands via trap data | 16.04, 18.04, 20.04 (ESM) | 2020-24361 |
| USN-9063-1 | yodl | Buffer over-read, DoS | 16.04 (ESM) | 2016-10375 |
| USN-9064-1 | Pillow | 39 issues: overflows, DoS, code exec | 22.04-26.10 standard; 14.04-20.04 (ESM) | 39 CVEs (2026-series) |
| USN-9065-1 | glibc (libc6) | 7 flaws incl. setuid $ORIGIN privilege escalation | 22.04, 24.04, 26.04, 26.10 | 7 CVEs (2026-series) |
| USN-8895-2 | sudo | Time-based restriction bypass via TZ | 18.04, 20.04 (ESM) | 2026-96512 |
| USN-9018-2 | linux-hwe-7.0 (HWE kernel) | Multiple flaws; reboot + ABI change | 24.04 LTS | supersedes 9018-1 |
| USN-9066-1 | linux-hwe-6.8 (HWE kernel) | AMD TLB + many subsystems; reboot | 22.04 LTS | 2023-20585, 2025-10263 (+ others) |
| USN-9067-1 | charybdis | SASL spoof, login as another user | 16.04 (ESM) | 2016-7143 |
| USN-9068-1 | debian-lan-config | Kerberos ACLs, privilege escalation | 16.04 (ESM) | 2019-3467 |
| USN-9069-1 | libseccomp-golang | seccomp filter bypass | 18.04 (ESM) | 2017-18367 |
| USN-9070-1 | hiredis | NULL pointer deref, DoS | 16.04, 18.04 (ESM) | 2020-7105 |
| USN-9071-1 | httpie | File overwrite via redirect handling | 16.04, 18.04 (ESM) | 2019-10751 |
| USN-9072-1 | imapfilter | Missing cert hostname check, MITM | 16.04, 18.04 (ESM) | 2016-10937 |
| USN-9073-1 | lhasa | Integer underflow, RCE/DoS | 16.04 (ESM) | 2016-2347 |
| USN-9074-1 | libjgraphx-java | XXE, data disclosure/DoS | 16.04, 18.04 (ESM) | 2017-18197 |
| USN-9075-1 | libjwt | Non-constant-time HMAC, forged tokens | 18.04, 20.04, 22.04 (ESM) | 2024-25189 |
| USN-9076-1 | libsolv | Heap over-read, DoS | 16.04, 18.04 (ESM) | 2019-20387 |
| USN-9077-1 | minissdpd | Use-after-free, DoS | 18.04 (ESM) | 2019-12106 |
| USN-9078-1 | ncmpc | DoS from a long chat message | 18.04 (ESM) | 2018-9240 |
| USN-9079-1 | nfdump | Overflow + integer overflow, RCE/DoS | 18.04 (ESM) | 2019-1010057, 2019-14459 |
| USN-9080-1 | node-tough-cookie | Prototype pollution | 18.04, 20.04, 22.04 (ESM) | 2023-26136 |
| USN-9081-1 | openconnect | Buffer overflow, RCE/DoS | 16.04, 18.04, 20.04 (ESM) | 2020-12823 |
| USN-9082-1 | pngquant | Buffer overflow, RCE/DoS | 16.04 (ESM) | 2016-5735 |
| USN-9083-1 | python-gevent | HTTP request smuggling, privilege escalation | 16.04, 18.04, 20.04, 22.04 (ESM) | 2023-41419 |
| USN-9084-1 | radicale | No auth rate limiting, password guessing | 16.04 (ESM) | 2017-8342 |
| USN-9085-1 | ruby-openid | SSRF from verify-before-sign gap | 16.04, 18.04 (ESM) | 2019-11027 |
| USN-9086-1 | sa-exim | RCE via greylisting rule parameters | 18.04 (ESM) | 2019-19920 |
| USN-9087-1 | signing-party | RCE via gpg-key2ps shell injection | 16.04, 18.04 (ESM) | 2019-11627 |
| USN-9088-1 | tigervnc | Cert exceptions trusted as CAs | 18.04 (ESM) | 2020-26117 |
| USN-9089-1 | x11vnc | Insecure shared memory, data disclosure | 20.04 (ESM) | 2020-29074 |
| USN-9090-1 | apache2 | 5 issues across mod_dav/md/http2/CGI | 22.04-26.10 standard; 14.04-20.04 (ESM) | 5 CVEs (2026-series) |
How to apply these Linux security updates
Before running any update commands, check which services are currently active on your system. If Nginx or Apache is handling live traffic, schedule a brief maintenance window or use rolling restarts to minimize downtime during the patching process. Desktop users can usually apply these fixes by opening a terminal and running the standard package manager command for their distribution followed by an upgrade flag. A reboot will be necessary if the kernel received updates to ensure the new security modules load correctly.
Power users who rely on command-line tools like jq should verify the patch level after installation. Regression bugs can occasionally break scripts that depend on specific JSON parsing behavior, so a quick test run is worth the few minutes it takes. If you use PackageKit or other GUI package managers and prefer to skip them because they sometimes hang or try to install junk, do not let that stop you from running the command-line equivalent to get these critical patches applied.
Applying these patches requires distribution-specific package management commands. RHEL-based systems typically use dnf update or yum update, while Debian and Ubuntu rely on apt upgrade. SUSE users should run zypper patch to properly address all security advisories, and Slackware administrators can manage updates with upgradepkg or slackpkg. After executing the commands, a reboot is usually necessary for kernel changes to take effect. Finally, review your package manager’s logs to verify that all patches installed successfully and no dependencies were disrupted.
Debian/Ubuntu (apt)
The first thing to do is refresh the local package index; running sudo apt update contacts all configured repositories and pulls in the newest lists of available versions. Skipping this step leaves the system blind to any recent uploads, which explains why “upgrade” sometimes claims there’s nothing to do even after a security advisory has been published. Once the index is current, invoke sudo apt upgrade -y; the -y flag answers every prompt automatically so the process doesn’t pause for user input. This command upgrades all installed packages that have newer versions in the repositories while preserving configuration files.
sudo apt update sudo apt upgrade -y
Fedora/RedHat/Rocky/Alma/Oracle (dnf or yum)
On modern Fedora and recent Red Hat derivatives, dnf is the package manager; older RHEL releases still rely on yum. Begin with a check‑update operation—sudo dnf check-update or sudo yum check-update—to see exactly which packages are awaiting an upgrade. This preview step can be useful for spotting unexpected kernel bumps before they land. To actually apply the updates, run sudo dnf upgrade -y (or sudo yum update if you prefer the older tool). The upgrade command pulls down the new binaries and runs any necessary post‑install scripts, such as rebuilding initramfs when a kernel changes.
sudo dnf check-update sudo dnf upgrade -y
or on older releases
sudo yum check-update sudo yum update
SUSE (zypper)
SUSE’s command line front‑end is called zypper. First execute sudo zypper refresh so that the metadata for all enabled repos gets updated; without this, zypper will happily report “No updates available” even though newer packages sit on the mirror. After a fresh refresh, issue sudo zypper update -y; this upgrades every package to the latest version in the configured repositories and automatically handles service restarts when required.
sudo zypper refresh sudo zypper update -y
