CVE-2026-29789

9.9 CRITICAL

📋 TL;DR

This vulnerability allows authenticated attackers with workflow write access in one project to create and manage sites on servers belonging to other projects by exploiting a missing authorization check. It affects Vito deployments prior to version 3.20.3 where users have workflow write permissions. Attackers can perform unauthorized server operations across project boundaries.

💻 Affected Systems

Products:
  • Vito
Versions: All versions prior to 3.20.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user with workflow write access in at least one project. The vulnerability exists in the default configuration when multiple projects are managed.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could deploy malicious PHP applications across all servers, compromise sensitive data, disrupt production services, and establish persistent backdoors throughout the infrastructure.

🟠

Likely Case

Attackers with workflow access could deploy unauthorized applications, modify existing sites, or disrupt services on servers they shouldn't have access to, potentially leading to data exposure or service outages.

🟢

If Mitigated

With proper network segmentation and minimal privilege access, impact would be limited to unauthorized site creation within the same network segment, but cross-project isolation would still be violated.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once an attacker has workflow write permissions. The vulnerability is in authorization logic, not authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.20.3

Vendor Advisory: https://github.com/vitodeploy/vito/security/advisories/GHSA-3m6w-8qh4-qr76

Restart Required: Yes

Instructions:

1. Backup your Vito configuration and database. 2. Update Vito to version 3.20.3 using your deployment method (Docker, package manager, or source). 3. Restart the Vito service. 4. Verify the update by checking the version in the web interface or via API.

🔧 Temporary Workarounds

Restrict Workflow Write Access

all

Temporarily remove workflow write permissions from all users except absolutely necessary administrators.

# Review and modify user permissions in Vito admin interface
# No specific CLI command - use web interface

Network Segmentation

linux

Isolate Vito instances and backend servers to prevent cross-project server access even if authorization is bypassed.

# Configure firewall rules to restrict Vito-server communications
# Example: iptables -A OUTPUT -d [server_ip] -j DROP for unauthorized servers

🧯 If You Can't Patch

  • Implement strict network segmentation between projects to prevent Vito from accessing servers outside authorized project boundaries.
  • Enable detailed audit logging for all site creation and management actions and monitor for unauthorized cross-project operations.

🔍 How to Verify

Check if Vulnerable:

Check Vito version via web interface dashboard or API endpoint /api/version. If version is below 3.20.3, the system is vulnerable.

Check Version:

curl -s http://vito-host/api/version | grep version

Verify Fix Applied:

After updating, verify version is 3.20.3 or higher. Test that users with workflow write access in one project cannot create sites on servers belonging to other projects.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized server_id parameter in site creation requests
  • Site creation attempts with server_ids from different projects
  • Failed authorization checks in workflow actions

Network Indicators:

  • Vito instance communicating with servers outside expected project ranges
  • Unusual site deployment patterns across multiple projects

SIEM Query:

source="vito.logs" AND (event="site_create" OR event="site_manage") AND server_id NOT IN authorized_servers

🔗 References

📤 Share & Export