CVE-2022-34177

7.5 HIGH

📋 TL;DR

This vulnerability in Jenkins Pipeline: Input Step Plugin allows attackers with Pipeline configuration permissions to write arbitrary files on the Jenkins controller file system. Attackers can use unsanitized parameter names as relative paths to create or replace files with malicious content. This affects Jenkins instances using the vulnerable plugin version.

💻 Affected Systems

Products:
  • Jenkins Pipeline: Input Step Plugin
Versions: 448.v37cea_9a_10a_70 and earlier
Operating Systems: All platforms running Jenkins
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Jenkins Pipeline with input steps using file parameters; attackers need permission to configure Pipelines.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Jenkins controller via arbitrary file write leading to remote code execution, data theft, or system takeover.

🟠

Likely Case

Unauthorized file creation/modification leading to privilege escalation, data manipulation, or persistence mechanisms.

🟢

If Mitigated

Limited impact with proper access controls and monitoring; file writes contained to non-critical directories.

🌐 Internet-Facing: HIGH if Jenkins is internet-facing and attackers can access Pipeline configuration.
🏢 Internal Only: MEDIUM as it requires authenticated users with Pipeline configuration permissions.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with Pipeline configuration permissions; path traversal via unsanitized parameter names.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 448.v37cea_9a_10a_71 and later

Vendor Advisory: https://www.jenkins.io/security/advisory/2022-06-22/#SECURITY-2705

Restart Required: Yes

Instructions:

1. Update Jenkins Pipeline: Input Step Plugin to version 448.v37cea_9a_10a_71 or later via Jenkins Plugin Manager. 2. Restart Jenkins to apply the update.

🔧 Temporary Workarounds

Restrict Pipeline Configuration Permissions

all

Limit who can configure Pipelines to trusted users only using Jenkins Role-Based Access Control.

Disable File Parameter Input Steps

all

Avoid using file parameters in Pipeline input steps until patched.

🧯 If You Can't Patch

  • Implement strict access controls to limit Pipeline configuration to essential personnel only.
  • Monitor file system changes on Jenkins controller for unauthorized writes to build-related directories.

🔍 How to Verify

Check if Vulnerable:

Check Jenkins Plugin Manager for Pipeline: Input Step Plugin version; if version is 448.v37cea_9a_10a_70 or earlier, it's vulnerable.

Check Version:

Navigate to Jenkins > Manage Jenkins > Plugin Manager > Installed tab and search for 'Pipeline: Input Step'.

Verify Fix Applied:

Verify plugin version is 448.v37cea_9a_10a_71 or later in Jenkins Plugin Manager after update.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file write operations in Jenkins logs to build directories
  • Suspicious parameter names in Pipeline input step logs

Network Indicators:

  • Unusual HTTP requests to Jenkins API configuring Pipelines with file parameters

SIEM Query:

source="jenkins.log" AND ("file parameter" OR "input step") AND ("write" OR "archive")

🔗 References

📤 Share & Export