Description
Faktory is a language-agnostic background job server. In versions prior to 1.10.0, the embedded Redis bootstrapper is vulnerable to an insecure temporary file flaw that lets a local unprivileged user hijack the Redis configuration and escalate to root. It writes its startup configuration to a fixed, predictable, world-writable path, /tmp/redis.conf, only creating the file if it does not already exist and never validating it on later boots. Because /tmp is world-writable, a local unprivileged user can pre-create /tmp/redis.conf with attacker-chosen Redis directives before Faktory starts, and Faktory will use the planted file verbatim. Faktory only overrides the unixsocket, dir, and logfile options, leaving directives such as bind, protected-mode, requirepass, and loadmodule attacker-controlled. This lets an attacker silently expose the entire job queue over an unauthenticated network port with no visible error to the administrator. Because the official systemd unit runs Faktory, and the redis-server child it spawns, as root, an attacker can also supply a loadmodule directive to execute arbitrary native code in the root-owned Redis process, escalating from a local unprivileged user to root. This issue is fixed in version 1.10.0.
Published: 2026-08-25
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Root Privilege Escalation
Action: Patch immediately
AI Analysis

Impact

Faktory, a language‑agnostic background job server, contains an insecure temporary file flaw. The embedded Redis bootstrapper writes its startup configuration to a fixed, world‑writable path /tmp/redis.conf only if that file does not already exist. Because the path is predictable and world‑writable, a local unprivileged user can pre‑create a file containing arbitrary Redis directives. Faktory then loads this file verbatim, overriding only a handful of options and leaving others such as bind, protected‑mode, requirepass, and loadmodule untouched. This allows an attacker to expose the job queue over an unauthenticated network port, and if the systemd unit runs Faktory as root, the attacker can also inject a loadmodule that executes arbitrary native code, resulting in remote code execution with root privileges. The weakness is a classic case of insecure temporary file usage, CWE‑377.

Affected Systems

All Faktory releases prior to version 1.10.0 are affected. The vulnerability applies to Contribsys’s Faktory product when it is deployed via the bundled systemd unit that starts Faktory and its child Redis server as the root user. The exposed configuration path is /tmp/redis.conf. No additional sub‑version information is provided beyond the boundary of 1.10.0.

Risk and Exploitability

The CVSS score of 7.3 indicates a high‑severity local privilege escalation that can lead to remote code execution when root privileges are obtained. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is a local user creating the predictable temporary file before Faktory starts. Once Faktory runs as root, the loaded Redis configuration can instruct the server to load a malicious module, giving the attacker root‑level code execution. The risk is significant for environments where Faktory runs as root and /tmp remains world‑writable, enabling any local user to perform the hijack.

Generated by OpenCVE AI on August 26, 2026 at 01:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Faktory to version 1.10.0 or newer, where the bootstrapper no longer writes to /tmp/redis.conf.
  • Reconfigure the Faktory systemd unit to run under a dedicated non‑root user, preventing the embedded Redis process from executing as root.
  • Remove any existing /tmp/redis.conf files and restrict write permissions on /tmp (e.g., mount /tmp with nodev or secure permissions) so that unprivileged users cannot create the configuration file.

Generated by OpenCVE AI on August 26, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 28 Aug 2026 23:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 26 Aug 2026 02:45:00 +0000

Type Values Removed Values Added
First Time appeared Contribsys
Contribsys faktory
Vendors & Products Contribsys
Contribsys faktory

Tue, 25 Aug 2026 22:15:00 +0000

Type Values Removed Values Added
Description Faktory is a language-agnostic background job server. In versions prior to 1.10.0, the embedded Redis bootstrapper is vulnerable to an insecure temporary file flaw that lets a local unprivileged user hijack the Redis configuration and escalate to root. It writes its startup configuration to a fixed, predictable, world-writable path, /tmp/redis.conf, only creating the file if it does not already exist and never validating it on later boots. Because /tmp is world-writable, a local unprivileged user can pre-create /tmp/redis.conf with attacker-chosen Redis directives before Faktory starts, and Faktory will use the planted file verbatim. Faktory only overrides the unixsocket, dir, and logfile options, leaving directives such as bind, protected-mode, requirepass, and loadmodule attacker-controlled. This lets an attacker silently expose the entire job queue over an unauthenticated network port with no visible error to the administrator. Because the official systemd unit runs Faktory, and the redis-server child it spawns, as root, an attacker can also supply a loadmodule directive to execute arbitrary native code in the root-owned Redis process, escalating from a local unprivileged user to root. This issue is fixed in version 1.10.0.
Title Faktory: Insecure predictable /tmp/redis.conf enables local Redis config hijack (network exposure / root RCE primitive)
Weaknesses CWE-377
References
Metrics cvssV4_0

{'score': 7.3, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Contribsys Faktory
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-28T22:40:31.790Z

Reserved: 2026-07-16T19:20:28.987Z

Link: CVE-2026-63404

cve-icon Vulnrichment

Updated: 2026-08-28T22:40:27.729Z

cve-icon NVD

Status : Deferred

Published: 2026-08-25T22:17:04.760

Modified: 2026-09-09T21:09:13.080

Link: CVE-2026-63404

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T02:30:04Z

Weaknesses