CVE-2023-36106

7.5 HIGH

📋 TL;DR

An incorrect access control vulnerability in PowerJob versions 4.3.2 and earlier allows remote attackers to obtain sensitive information by querying the /container/list interface with an appId parameter. This affects PowerJob users running vulnerable versions, potentially exposing container information and other sensitive data.

💻 Affected Systems

Products:
  • PowerJob
Versions: 4.3.2 and earlier
Operating Systems: All platforms running PowerJob
Default Config Vulnerable: ⚠️ Yes
Notes: Affects PowerJob deployments with the vulnerable /container/list endpoint accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could enumerate all container information across applications, potentially accessing sensitive configuration data, secrets, or proprietary application logic.

🟠

Likely Case

Unauthorized access to container metadata and configuration information, potentially revealing application structure and deployment details.

🟢

If Mitigated

With proper access controls and network segmentation, impact is limited to information disclosure within authorized network segments.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable via HTTP interface without authentication.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could exploit this to gather reconnaissance data about PowerJob deployments.

🎯 Exploit Status

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

Simple HTTP request manipulation required. Public proof-of-concept demonstrates exploitation via appId parameter manipulation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.3.3 or later

Vendor Advisory: https://gitee.com/KFCFans/PowerJob

Restart Required: Yes

Instructions:

1. Upgrade PowerJob to version 4.3.3 or later. 2. Restart PowerJob services. 3. Verify the /container/list endpoint now properly validates access controls.

🔧 Temporary Workarounds

Network Access Control

linux

Restrict network access to PowerJob management interfaces

iptables -A INPUT -p tcp --dport [POWERJOB_PORT] -s [TRUSTED_NETWORK] -j ACCEPT
iptables -A INPUT -p tcp --dport [POWERJOB_PORT] -j DROP

Reverse Proxy Authentication

all

Place PowerJob behind a reverse proxy with authentication

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PowerJob from untrusted networks
  • Deploy web application firewall (WAF) rules to block requests to /container/list with manipulated appId parameters

🔍 How to Verify

Check if Vulnerable:

Send HTTP GET request to /container/list endpoint with different appId parameters and check if unauthorized data is returned.

Check Version:

Check PowerJob version in application logs or via management interface

Verify Fix Applied:

After patching, attempt the same unauthorized requests and verify they are properly rejected with appropriate error responses.

📡 Detection & Monitoring

Log Indicators:

  • Multiple requests to /container/list with varying appId parameters
  • Unauthorized access attempts to container endpoints

Network Indicators:

  • HTTP GET requests to /container/list with unusual appId values
  • Traffic patterns suggesting enumeration attempts

SIEM Query:

source="powerjob" AND uri="/container/list" AND (appId!="[expected_value]" OR appId="*")

🔗 References

📤 Share & Export