What landed in CVE-land this week

The week of 2026-08-24 brings defenders a familiar mix: memory-safety bugs in ubiquitous parsing libraries, a privilege-escalation primitive in a Linux authentication module, and logic flaws in developer tooling. None of it is exotic. All of it is exploitable against workloads you probably ship every day. This digest covers what matters, why it matters, and what a defensible response looks like beyond closing a patch ticket.

The libxml2 pair: CVE-2025-49794 and CVE-2025-49796

Two libxml2 issues (both 9.1 CVSS) dominate the week because libxml2 sits under nearly every language runtime, browser engine, configuration parser, and SOAP stack still in production. CVE-2025-49794 is a use-after-free triggered when XPath elements are parsed under XML Schematron rules that include <sch:name path="..."/>. CVE-2025-49796 is a memory-corruption bug in the same sch:name handling path. Together they mean any service running Schematron validation against untrusted XML can be crashed and, in the UAF case, coerced into attacker-controlled execution.

If you think you do not process XML, verify that first:

# Find libxml2 loaded into running processes
sudo lsof 2>/dev/null | awk '/libxml2/ {print $1, $2, $NF}' | sort -u

# Find statically bundled copies inside container images
grep -R --include="*.so*" -l "libxml2" /var/lib/docker/overlay2 2>/dev/null

# Language runtimes that vendor libxml2 (Python lxml, Ruby Nokogiri, PHP dom/xsl)
python3 -c "import lxml.etree; print(lxml.etree.LIBXML_VERSION)"
ruby -rnokogiri -e 'puts Nokogiri::VERSION_INFO["libxml"]'

Prioritize any HTTP endpoint or message consumer that accepts XML from outside your trust boundary, especially paths that run Schematron or reference external DTDs. Rebuild container images against a patched libxml2 (2.13.8 or the vendor backport series). WAF XML filtering is unreliable against Schematron payloads, which look like ordinary schema validation traffic.

rsync checksum leak: CVE-2024-12085

CVE-2024-12085 (7.5) is the subtle one. When rsync compares file checksums, an attacker controlling one side of the transfer can manipulate s2length so the comparison reads uninitialized memory. The result is a one-byte-at-a-time stack leak. One byte in isolation is little; repeated across thousands of files, it becomes a practical channel for recovering secrets from rsync daemons that handle backup material, CI artifacts, or config-management repositories.

The real exposure is not the classic "rsync is on the internet" scenario. Many organizations run rsync as the transport layer under backup software, package mirrors, or artifact promotion pipelines. Identify which rsync daemons accept connections from tenants, build agents, or lower-trust networks; those are in scope. Patch to rsync 3.4.0 or later. Where you cannot patch, restrict hosts allow in rsyncd.conf to a strict allowlist and route connections through an authenticated tunnel.

Emacs remote command injection: CVE-2025-1244

CVE-2025-1244 (8.8) is a command-injection flaw in Emacs that lets a remote, unauthenticated attacker execute arbitrary shell commands when a user opens a crafted resource. Emacs serves as the standard org-mode and literate-programming environment for a meaningful share of engineering teams, and many CI systems invoke emacs --batch for document conversion. If a build step tangles a Markdown or Org file fetched from a pull request, the CI worker is the target, not the developer at the keyboard.

Detection is straightforward and worth automating:

# Find Emacs invocations in CI configuration
grep -RIn --include="*.yml" --include="*.yaml" -E "emacs(\s|--batch)" .github .gitlab-ci* 2>/dev/null

# Version check on build images
docker run --rm my-ci-image emacs --version | head -1

Upgrade to a patched Emacs (29.4 or the vendor backport) on developer workstations and every build image that includes it. If you cannot upgrade quickly, disable Emacs from opening remote URIs by removing org-babel and shell-command handlers from your organization's shared init file.

Local privilege escalation: CVE-2025-6020

CVE-2025-6020 (7.8) is a pam_namespace flaw in linux-pam. The module follows user-controlled paths without adequate validation, letting a local user chain symlink attacks and race conditions to reach root. This class of bug is particularly damaging on multi-tenant Linux hosts, jump servers, and CI runners where untrusted jobs share a shell on the same box. If your threat model includes an attacker with an unprivileged shell, this flaw removes the need for a kernel exploit.

Patch linux-pam first. While you wait, remove pam_namespace.so from any PAM stack that does not actually rely on per-user polyinstantiation. Most hosts do not.

libarchive and libxslt: CVE-2025-5914 and CVE-2025-7425

CVE-2025-5914 (7.8) is an integer overflow in libarchive's archive_read_format_rar_seek_data() that causes a double-free when parsing a malicious RAR. Any service that accepts user-uploaded archives, including mail gateways, malware sandboxes, ticketing systems, and document ingestion pipelines, needs this update. CVE-2025-7425 (7.8) is a libxslt bug where the atype flag is mishandled during tree-fragment construction, corrupting the internal memory manager. The affected footprint matches the libxml2 issues above: any service transforming untrusted XML.

Container escape via RBAC sprawl: CVE-2024-5042

CVE-2024-5042 (6.6) is a Submariner project flaw where excessive RBAC permissions let a privileged attacker run a malicious container on a node, steal service-account tokens, and pivot. The CVSS score understates the impact in a multi-cluster mesh: one stolen token in a hub cluster can propagate across every joined cluster. If you run Submariner, update to the fixed release and audit the ClusterRole bindings created at install time. More broadly, run a periodic diff of every operator's requested RBAC against the minimum it actually needs; that drift accumulates silently and proves expensive.

What to actually do this week

  1. Rebuild base images against patched libxml2, libxslt, libarchive, linux-pam, and rsync. Push the images through your normal promotion pipeline; do not hand-patch nodes.
  2. Inventory XML ingress. Any Schematron-capable path is high priority.
  3. Audit CI images for Emacs and remove it where nothing uses it.
  4. Diff Submariner (and other operator) RBAC against a minimal baseline.
  5. Verify fixes with a re-scan against the same asset inventory used before patching. A CVE that disappears from your SBOM but not from your runtime is not fixed.

None of these bugs required a novel attack primitive. They required attention, an accurate inventory, and the discipline to verify the fix instead of trusting the ticket. That is the job.

Verifiable security.