/

CVE-2026-102490

Severity:

HIGH RISK

(7.8)

Privilege Escalation (CWE-269) in Zammad DEB/RPM Packages

CVE-2026-102490

Analyzed

Vulnerability type

Category:

Privilege Escalation

CWE:

CWE-269

Impact:

Local Root Privilege Escalation

Severity:

HIGH RISK

(7.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Zammad DEB and RPM packages could allow a local attacker with file-system write access as the unprivileged zammad service account to gain root privileges on the host. The risk arose because affected services started as root and executed files writable by that account before dropping privileges, with automatic restarts enabling rapid exploitation.

Zammad DEB and RPM packages could allow a local attacker with file-system write access as the unprivileged zammad service account to gain root privileges on the host. The risk arose because affected services started as root and executed files writable by that account before dropping privileges, with automatic restarts enabling rapid exploitation.

Affected context

The issue affects Zammad installations deployed from packager.io-built DEB or RPM packages. It requires service behavior in which processes start with root privileges, execute or load files owned and writable by the zammad account, and only then reduce their identity. Source installations and official container images are outside the described affected context.

The issue affects Zammad installations deployed from packager.io-built DEB or RPM packages. It requires service behavior in which processes start with root privileges, execute or load files owned and writable by the zammad account, and only then reduce their identity. Source installations and official container images are outside the described affected context.

Exploit preconditions

  • Attack surface: Locally installed Zammad services and their startup or restart mechanisms
  • Required access: Existing file-system write privileges as the unprivileged zammad service account
  • Trigger point: Automatic service startup or restart while the affected process initializes
  • Why exploitation is possible: A root-running process executes attacker-controlled files before dropping to the zammad identity
  • Deployment scope: The condition applies to affected DEB and RPM package installations rather than source deployments or official container images
  • Attack surface: Locally installed Zammad services and their startup or restart mechanisms
  • Required access: Existing file-system write privileges as the unprivileged zammad service account
  • Trigger point: Automatic service startup or restart while the affected process initializes
  • Why exploitation is possible: A root-running process executes attacker-controlled files before dropping to the zammad identity
  • Deployment scope: The condition applies to affected DEB and RPM package installations rather than source deployments or official container images

Why this happens

The underlying bug is an unsafe privilege-transition sequence. A service begins execution with root authority and interacts with files that are owned or writable by a lower-privileged account before reducing its privileges.

This maps to CWE-269: Improper Privilege Management, because the process performs security-sensitive operations under excessive privileges and crosses a trust boundary controlled by an unprivileged user. Automatic restart behavior increases reliability but is not the fundamental cause.

The underlying bug is an unsafe privilege-transition sequence. A service begins execution with root authority and interacts with files that are owned or writable by a lower-privileged account before reducing its privileges.

This maps to CWE-269: Improper Privilege Management, because the process performs security-sensitive operations under excessive privileges and crosses a trust boundary controlled by an unprivileged user. Automatic restart behavior increases reliability but is not the fundamental cause.

Potential impact

  • An attacker may execute arbitrary code with root privileges
  • The host could be fully compromised
  • System files, credentials, and service data could be modified or exposed
  • Persistence mechanisms could be installed
  • Other local services or workloads could be affected
  • An attacker may execute arbitrary code with root privileges
  • The host could be fully compromised
  • System files, credentials, and service data could be modified or exposed
  • Persistence mechanisms could be installed
  • Other local services or workloads could be affected

General mitigation guidance

Mitigation generally focuses on ensuring that privileged processes do not execute or load content writable by less-privileged accounts.

Common defensive patterns include:

  • Dropping privileges before accessing attacker-influenced files whenever feasible
  • Restricting service startup logic to trusted, root-owned, non-writable paths
  • Applying least-privilege service accounts and narrowly scoped file permissions
  • Separating privileged initialization from unprivileged application processing
  • Using ownership and permission policies that prevent service accounts from modifying executable content
  • Reviewing automatic restart behavior so it cannot repeatedly trigger unsafe initialization paths
  • Preferencing deployment models with clearly isolated service identities and read-only application artifacts where practical

Mitigation generally focuses on ensuring that privileged processes do not execute or load content writable by less-privileged accounts.

Common defensive patterns include:

  • Dropping privileges before accessing attacker-influenced files whenever feasible
  • Restricting service startup logic to trusted, root-owned, non-writable paths
  • Applying least-privilege service accounts and narrowly scoped file permissions
  • Separating privileged initialization from unprivileged application processing
  • Using ownership and permission policies that prevent service accounts from modifying executable content
  • Reviewing automatic restart behavior so it cannot repeatedly trigger unsafe initialization paths
  • Preferencing deployment models with clearly isolated service identities and read-only application artifacts where practical

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules identifying privileged processes that execute files writable by non-privileged users
  • Code review checks for privilege dropping that occurs after file loading, plugin discovery, or command execution
  • Package and deployment audits comparing service-user write permissions with executable and configuration paths
  • Policy enforcement requiring root-owned, non-writable service binaries and startup resources
  • Runtime monitoring for unexpected root processes, child processes, or file changes originating from the zammad account
  • Automated security review tools that flag privilege transitions and unsafe ownership relationships

Organizations can look for this class of issue through:

  • Static analysis rules identifying privileged processes that execute files writable by non-privileged users
  • Code review checks for privilege dropping that occurs after file loading, plugin discovery, or command execution
  • Package and deployment audits comparing service-user write permissions with executable and configuration paths
  • Policy enforcement requiring root-owned, non-writable service binaries and startup resources
  • Runtime monitoring for unexpected root processes, child processes, or file changes originating from the zammad account
  • Automated security review tools that flag privilege transitions and unsafe ownership relationships

Sources

SourceLink
csirt.divd.nlcsirt.divd.nl/CVE-2026-102490
csirt.divd.nlcsirt.divd.nl/DIVD-2026-00015
github.comgithub.com/zammad/zammad/security/advisories/GHSA-p97w-927q-8vxq
zammad.comzammad.com/en/advisories/cve-2026-102489-cve-2026-102490
cisa.govcisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-102490

Frequently asked

questions

The described attack requires local access or an existing foothold that provides file-system write privileges as the zammad service account. It is not directly a network-only vulnerability.

An attacker must be able to write files in locations that affected services access during startup or restart. Possession of the zammad account's intended service-level permissions may be sufficient if those paths are trusted by a root-running process.

Ensure privileged services never execute or load files writable by unprivileged accounts. Privilege reduction should occur before handling attacker-influenced content, with strict ownership and permission boundaries around startup resources.

Review service privilege transitions, enforce least privilege, audit package file ownership and write permissions, and monitor for root processes interacting with service-account-controlled files.

The described attack requires local access or an existing foothold that provides file-system write privileges as the zammad service account. It is not directly a network-only vulnerability.

An attacker must be able to write files in locations that affected services access during startup or restart. Possession of the zammad account's intended service-level permissions may be sufficient if those paths are trusted by a root-running process.

Ensure privileged services never execute or load files writable by unprivileged accounts. Privilege reduction should occur before handling attacker-influenced content, with strict ownership and permission boundaries around startup resources.

Review service privilege transitions, enforce least privilege, audit package file ownership and write permissions, and monitor for root processes interacting with service-account-controlled files.

Find out what's already
exploitable in your codebase.