CVE-2025-0218
NoneCVSS
—
EPSS
0.2%
Published
Jan 7, 2025
CISA due date
—
Cloudanix analysis
A flaw in task scheduling software lets someone on the same computer stop automated jobs from running by guessing and taking over a temporary folder.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Insufficiently seeded RNG used to generate temporary directory names for batch job scripts executed by pgAgent allows local attackers to pre-create the expected directory and block job execution.
Why it matters to the business
Scheduled database maintenance and automation tasks fail to run, causing operational disruptions and potential data processing delays across affected systems.
How an attack unfolds
A local attacker monitors pgAgent activity, predicts the weakly generated temporary directory name, pre-creates the directory ahead of job execution, and thereby prevents the script from running as scheduled.
How to fix it
Upgrade pgAgent to version 4.2.3 or later; verify all instances use the patched release that employs a secure directory naming mechanism.
How to confirm the fix worked
Confirm pgAgent version is 4.2.3 or higher; test scheduled jobs to ensure temporary directories are uniquely generated and inaccessible to unprivileged local users.
Typical attack path
- Identify systems running vulnerable pgAgent versions
- Observe timing and patterns of scheduled batch jobs
- Predict or brute-force the temporary directory name via weak RNG
- Pre-create the directory with appropriate permissions
- Allow pgAgent to attempt execution and observe job failure
How to detect it
Search job execution logs for repeated failures involving temporary directory creation or permission errors; monitor for unexpected directory pre-creation activity by non-pgAgent processes.
What your security team should do
- Immediately inventory all pgAgent deployments and prioritize upgrade to 4.2.3+
- Review scheduled job logs for repeated directory-related failures
- Restrict local user access on systems hosting pgAgent until patched
The record
When batch jobs are executed by pgAgent, a script is created in a temporary directory and then executed. In versions of pgAgent prior to 4.2.3, an insufficiently seeded random number generator is used when generating the directory name, leading to the possibility for a local attacker to pre-create the directory and thus prevent pgAgent from executing jobs, disrupting scheduled tasks.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | pgagent | 0 | No fix |
| Debian:12 | pgagent | 0 | No fix |
| Debian:13 | pgagent | 0 | No fix |
| Ubuntu:16.04:LTS | pgagent | 0 | No fix |
| Ubuntu:18.04:LTS | pgagent | 0 | No fix |
| Ubuntu:20.04:LTS | pgagent | 0 | No fix |
| Ubuntu:22.04:LTS | pgagent | 0 | No fix |
| Ubuntu:24.04:LTS | pgagent | 0 | No fix |
| Ubuntu:24.10 | pgagent | 0 | No fix |
| Ubuntu:25.04 | pgagent | 0 | No fix |
| Ubuntu:25.10 | pgagent | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | pgagent | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | pgagent | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | pgagent | 0 | No fix |