Skip to content
eastbaycyber

CVE-2026-102490: Zammad Privilege Escalation

CVSS · High
7.8
In CISA KEV
Yes
Published
Oct 24
CVE explainers 12 min read
Security Research Desk Source-checked
Auto-checked against the official CVE record · Human-reviewed after publishing · Updated 2026-10-24
⚠
CISA Known Exploited Vulnerability

Active exploitation confirmed in the wild. CISA added this to the KEV catalog on 2026-10-02. Federal agencies must patch by 2026-10-05.

Everything CISA added on 2026-10-02

▲ Escalation ViewOne CVE, briefed at three altitudes — skim the Brief, weigh the Impact, or work the Runbook. The way a SOC actually reads it.
CISOBrief · 30-second brief

TL;DR - CVE-2026-102490 lets an attacker with write access as the zammad service account escalate to root on affected packaged installations. - DEB and RPM deployments are affected; source installs and official Zammad container images are not affected according to the available advisory data. - CISA lists the CVE in KEV, confirming exploitation in the wild. Upgrade to Zammad 7.2.2 or later and investigate potentially exposed hosts.

Summary

CVE-2026-102490 is a Zammad vulnerability involving improper privilege management in packages built with packager.io. The flaw affects installations delivered as DEB and RPM packages. A local attacker who can write files as the unprivileged zammad service account may modify content executed by services that initially run with root privileges, resulting in full root access.

The vulnerability has a CVSS base score of 7.8. NVD does not expose the complete CVSS vector in the available record, so the precise component values should not be inferred. CISA added the vulnerability to its Known Exploited Vulnerabilities catalog on 2026-10-02, with a remediation due date of 2026-10-05. That status makes this an urgent remediation and incident-response concern.

Organizations reviewing this issue should also understand how software flaws fit into broader operational resilience requirements. Our DORA FAQ explains related requirements for ICT risk management and incident response.

Field Value
CVE ID CVE-2026-102490
Product Zammad
Vendor Zammad GmbH
Vulnerability type Improper privilege management, local privilege escalation
CVSS base score 7.8
Attack vector Local, based on the described requirement for filesystem write access
Authentication or foothold required Access capable of writing as the zammad service account
Patch status Yes, Zammad 7.2.2 is identified as patched
CISA KEV Yes
Exploitation status Confirmed in the wild through CISA KEV listing
Ransomware association Unknown

The issue is not described as unauthenticated remote code execution. An attacker must first obtain a suitable foothold, such as code execution or filesystem-write capability under the zammad account. That foothold could result from another vulnerability, a compromised integration, a malicious plugin or job, or a separate local compromise.

Analyst’s Take: Patch the packaged deployments first, then investigate how the zammad account could obtain filesystem-write access. The KEV listing means defenders should treat vulnerable hosts as possible incident-response cases, not only as routine package updates.

AnalystImpact · assess the risk

Root Cause

The root cause is an unsafe relationship between service startup privileges, executable ownership, and installation-directory permissions in affected packaged deployments. The affected service processes initially run as root, execute files owned and writable by zammad, and then drop privileges to the unprivileged service account. If an attacker can replace or modify those files, the altered content may execute during a privileged service start or restart.

This design becomes particularly dangerous because the affected services restart automatically when they stop. An attacker does not necessarily need an administrator to manually restart Zammad. By stopping or triggering a service restart after modifying the relevant content, the attacker may cause code under their control to execute with root privileges.

The exploitation sequence described by the available records is:

  1. Obtain filesystem-write capability as zammad.
  2. Modify executable content or another file used during privileged service startup.
  3. Trigger or wait for an automatic service restart.
  4. Allow the modified content to execute before the service drops privileges.
  5. Obtain root-level access to the host.

The vulnerability represents a privilege-boundary failure rather than a direct network attack. The initial access path remains important: defenders should investigate how an attacker could write as zammad, not only whether the vulnerable package is installed.

Technical Notes

A basic local review should identify the service account, installation paths, and ownership of executable files. Run these commands as an administrator and adapt paths to the distribution’s package layout:

getent passwd zammad
systemctl list-units --type=service | grep -i zammad
systemctl cat zammad
ps -eo user,group,pid,ppid,comm,args | grep -i '[z]ammad'

Inspect package ownership and writable paths:

dpkg -l | grep -i zammad
rpm -qa | grep -i zammad

find /opt/zammad /usr/share/zammad /var/lib/zammad \
  -xdev -type f -user zammad -writable -ls 2>/dev/null

find /opt/zammad /usr/share/zammad /var/lib/zammad \
  -xdev -type f -perm /022 -ls 2>/dev/null

The exact directories vary by package and operating system. Do not treat the absence of a result from these example paths as proof that a host is safe.

Who’s Exposed

The affected installation method is the most important scoping criterion. The vulnerability affects Zammad installed from DEB or RPM packages built with packager.io. The DIVD CSIRT advisory identifies the affected version range as Zammad v1.5.0 through v7.2.2 when installed through those package formats.

The GitHub security advisory gives a narrower boundary, listing affected versions as <= 7.2.1 and identifying 7.2.2 as the patched version. Because the available sources use different boundaries, organizations should not rely on a version-only conclusion without checking the package provenance and exact deployment method.

The NVD description states that all released packaged versions were affected, while the vendor advisory adds runtime-specific context: exploitation is possible in practice on Zammad 6.5 and earlier, and Zammad 7.0 and later are not affected in practice under the vendor’s runtime environment. These statements should be reconciled against the exact package, runtime, operating system, and service configuration in use.

Deployment Exposure assessment
DEB package built with packager.io Treat as affected if running below 7.2.2; validate against the vendor advisory
RPM package built with packager.io Treat as affected if running below 7.2.2; validate against the vendor advisory
Zammad 7.2.2 or later packaged deployment Patched according to the GitHub security advisory; verify package installation
Source installation Not affected according to the NVD description
Official Zammad container image Not affected according to the NVD description
Unknown package provenance Assume exposure until provenance and version are verified

Administrators should inventory both the Zammad version and how it was installed. A system may appear current in an application interface while still running an older package, a partially updated service component, or a custom package derived from an affected build.

Severity Breakdown

CVE-2026-102490 has a CVSS base score of 7.8, placing it in the high-severity category. The available NVD record does not expose the complete CVSS vector, so the precise values for attack complexity, privileges required, user interaction, scope, confidentiality, integrity, and availability should be obtained directly from the authoritative record before using them in automated scoring or risk dashboards.

The practical severity is driven by the resulting privilege level. The attacker begins with access associated with the unprivileged zammad account but can potentially reach root on the host. Root access can expose Zammad application data, credentials, configuration files, locally stored secrets, database access, backups, operating-system files, and other services on the same machine.

The local prerequisite reduces the set of directly exposed attackers compared with a remotely reachable unauthenticated flaw. It does not make the issue low risk. A separate vulnerability or compromised integration that enables writes as zammad can become a reliable path to full host compromise. The CISA KEV listing further indicates that attackers have successfully exploited the vulnerability in real-world environments.

Severity consideration Assessment
Initial access Existing local or service-account foothold required
Privilege transition zammad service account to root
Interaction Automatic service restart may remove the need for administrator action
Confidentiality impact Potentially high after root compromise
Integrity impact Potentially high after root compromise
Availability impact Potentially high after root compromise
CVSS 7.8
Exploit priority Critical operational priority because of KEV status

Exploitation Status

Exploitation in the wild is confirmed by CISA’s KEV listing. CISA added CVE-2026-102490 on 2026-10-02 and assigned a remediation due date of 2026-10-05. The KEV record does not identify a specific threat actor, exploit kit, campaign, or intrusion set.

CISA records the ransomware-campaign field as Unknown. The available KEV data does not associate this vulnerability with a known ransomware campaign; it does not mean that ransomware involvement has been ruled out across all environments.

No standalone public proof-of-concept repository was identified in the reviewed references. The GitHub security advisory documents the issue and remediation but, based on the available material, does not provide an exploit repository. Defenders should distinguish between “no public PoC identified in the reviewed sources” and “no exploit exists.” The KEV status demonstrates that exploitation has occurred regardless of whether a public PoC is available.

Organizations with exposed or vulnerable deployments should assume targeted exploitation is plausible. Preserve evidence before making destructive changes if compromise is suspected, particularly where the zammad account may have written to executable paths or where unexpected root-level activity occurred.

Sources

The primary references for this assessment are:

  1. NVD: CVE-2026-102490
    Provides the CVE description, CVSS base score, affected installation context, and publication metadata.

  2. CVE Record: CVE-2026-102490
    Provides the CVE record and coordinator information.

  3. CISA Known Exploited Vulnerabilities Catalog
    Records the KEV listing, 2026-10-02 date added, 2026-10-05 due date, and unknown ransomware-campaign status.

  4. Zammad vendor advisory
    Provides vendor-specific impact and runtime context.

  5. GitHub Security Advisory: GHSA-p97w-927q-8vxq
    Identifies affected versions as <= 7.2.1 and patched version 7.2.2.

  6. DIVD CSIRT advisory for CVE-2026-102490
    Identifies the broader affected range of Zammad v1.5.0 through v7.2.2 for DEB and RPM installations.

  7. DIVD case DIVD-2026-00015
    Provides additional coordinator case context.

For related terminology, see our cloud security glossary.

Where these sources differ on version boundaries or runtime conditions, administrators should use the conservative operational position: identify package provenance, upgrade packaged installations to Zammad 7.2.2 or later, verify the resulting service configuration, and investigate systems that ran affected versions.

This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.

ResponderRunbook · act now

Detection Guidance

Detection should combine package inventory, filesystem monitoring, service telemetry, and host-based investigation. The key behaviors are unexpected writes by the zammad account, changes to files executed during Zammad service startup, unusual service restarts, and a transition from a zammad process to a root shell or unexpected root process.

First determine whether the deployment is in scope:

# Debian and Ubuntu
dpkg-query -W -f='${Package}\t${Version}\n' 2>/dev/null | grep -i zammad

# RPM-based systems
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n' 2>/dev/null | grep -i zammad

# Service and recent restart history
systemctl status zammad --no-pager
journalctl -u zammad --since "30 days ago" --no-pager

The following indicators are especially relevant:

  • Writes by UID or username zammad to root-owned executable directories.
  • Changes to service units, startup scripts, wrappers, hooks, or files loaded before privilege dropping.
  • Zammad service restarts outside approved maintenance windows.
  • A root process whose ancestry includes a Zammad process or a shell launched from a Zammad-related process.
  • New SSH keys, cron entries, systemd units, sudoers changes, or privileged binaries created after suspicious Zammad activity.
  • Package changes that cannot be tied to an approved update.

Technical Notes

For systems using auditd, a targeted rule can monitor writes and attribute them to the zammad account. Replace paths with the actual package and service directories:

sudo auditctl -a always,exit -F arch=b64 -S openat,creat,truncate \
  -F dir=/opt/zammad -F uid="$(id -u zammad)" \
  -F perm=wa -k zammad-service-account-writes

sudo ausearch -k zammad-service-account-writes -i

A useful journal query for suspicious service activity is:

journalctl --since "30 days ago" --no-pager \
  | grep -Ei 'zammad|systemd.*(start|stop|restart)|permission denied|exec'

A generic SIEM query should alert when the service account writes to executable locations or when a Zammad-related process launches a privileged shell. For example, in an Elastic-style schema:

event.category:process and
process.parent.user.name:"zammad" and
process.user.name:"root" and
process.name:(bash or sh or dash or sudo or su)

This query is a starting point, not a universal detection rule. Field names differ by agent and operating system. Correlate process events with file-integrity alerts and service restarts to reduce false positives.

Remediation Steps

Upgrade affected DEB and RPM installations to Zammad 7.2.2 or later. The GitHub security advisory identifies 7.2.2 as the patched release. Before updating production, confirm compatibility, back up the database and application data, and verify that the package repository supplies the intended version.

Example package-manager commands are:

# Debian or Ubuntu: inspect available versions first
apt-cache policy zammad

# Upgrade the package
sudo apt-get update
sudo apt-get install --only-upgrade zammad

# RPM-based systems: inspect available versions first
dnf info zammad

# Upgrade the package
sudo dnf upgrade zammad

These commands do not guarantee that the available repository contains 7.2.2 or later. Confirm the installed result:

dpkg-query -W -f='${Version}\n' zammad 2>/dev/null
rpm -q --qf '%{VERSION}-%{RELEASE}\n' zammad 2>/dev/null

If the package manager cannot provide the patched release, obtain the supported package from the vendor’s official distribution channel. Do not substitute an unrelated source build without reviewing the deployment and support implications.

Technical Notes

After upgrading, verify that all service components are using the new package and that no stale copies remain:

systemctl daemon-reload
sudo systemctl restart zammad

systemctl status zammad --no-pager
systemctl show zammad -p ExecStart -p User -p Group

Review ownership and permissions for executable and service paths:

sudo find /opt/zammad /usr/share/zammad -xdev -type f \
  \( -perm /022 -o -user zammad \) -ls 2>/dev/null

sudo systemctl cat zammad

The goal is to ensure that the zammad account cannot modify files later executed with root privileges. Do not apply broad recursive ownership changes without understanding the package’s expected permissions; an incorrect change can break the application or create a new security problem.

If immediate patching is impossible, isolate the deployment from untrusted networks, restrict access to administrative and integration interfaces, disable unnecessary plugins or jobs that can write to the host, and follow the vendor’s mitigation instructions. These controls are temporary risk reduction, not a replacement for upgrading.

Because CISA lists the CVE in KEV, treat vulnerable systems as potentially compromised. Preserve logs, package metadata, filesystem timestamps, and relevant disk or host telemetry before remediation where feasible. Investigate the zammad account, service restarts, modified executable files, new root processes, persistence mechanisms, credentials, and outbound connections. Rotate secrets after determining whether configuration files or application data may have been accessed.

Last verified: 2026-10-24

Disclaimer: This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.