OS Command InjectionWeakness · CWE-78

CVE-2026-60102

HIGH · 8.8 CVSS v3.1 Published 2026-07-08
Patch available
A vendor patch is available. No clean upgrade release — apply the published patch.
See remediation →
94/100
Remediation priority · Urgent
Remotely reachable Zero-click Patch available 6 weeks old

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Horde Virtual File System (VFS) API before 3.0.1 contains an OS command injection vulnerability in the Horde_Vfs_Smb driver where the _escapeShellCommand() method fails to sanitize command substitution sequences, allowing authenticated attackers to inject arbitrary shell commands through user-controlled filenames. Attackers can supply malicious filenames containing unescaped command substitution payloads through operations such as file upload, folder creation, rename, or deletion, which are interpolated into a double-quoted shell context and executed via proc_open() through /bin/sh -c before smbclient runs, resulting in arbitrary command execution on the underlying system.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

The Horde VFS API before 3.0.1 has an OS command injection vulnerability in the Horde_Vfs_Smb driver. The _escapeShellCommand() method fails to properly sanitize command substitution sequences (such as `$(...)` or backticks), allowing authenticated attackers to inject arbitrary shell commands through user-controlled filenames during file upload, folder creation, rename, or deletion operations. The malicious filename is interpolated into a double-quoted shell context and executed via proc_open() through /bin/sh -c before smbclient runs.

MitigationUpgrade to Horde VFS API version 3.0.1 or later, which contains a proper fix for the _escapeShellCommand() method to sanitize command substitution sequences.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify Horde VFS API installation
    Locate the Horde VFS API library in your environment. Check for the presence of files such as lib/Horde/Vfs.php, Vfs/Smb.php, or a composer.json/PEAR package for the horde/vfs component. Determine the installed version by reading the version constant in the main Vfs.php file or using composer show horde/vfs.
    Affected if The installed version is earlier than 3.0.1 (e.g., 3.0.0, 2.x, or unversioned).
  2. Verify Horde_Vfs_Smb driver is in use
    Examine your Horde configuration files (typically in config/ or conf/ directories) for any VFS backend configuration. Look for a 'vfs' or 'Vfs' configuration key that specifies 'smb' as the driver type. Check if the Horde_Vfs_Smb class is being instantiated or referenced.
    Affected if The configuration specifies 'smb' as the VFS driver, enabling the vulnerable Horde_Vfs_Smb driver.
  3. Inspect the _escapeShellCommand method
    Locate the Horde/Vfs/Smb.php file in your installation. Open the file and search for the _escapeShellCommand method. Examine whether the method contains logic to filter or escape command substitution characters such as $(), backticks, or other shell metacharacters.
    Affected if The _escapeShellCommand method lacks sanitization for $(...), backticks, or similar command substitution sequences (the fix in version 3.0.1 is not present).

You are affected if the Horde VFS API version is below 3.0.1 and the Horde_Vfs_Smb driver is configured as the VFS backend, allowing user-supplied filenames to be interpolated into shell commands without proper sanitization.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Patch available Apply the vendor patch
Vendor patch github.com →
Interim mitigation

Upgrade to Horde VFS API version 3.0.1 or later, which contains a proper fix for the _escapeShellCommand() method to sanitize command substitution sequences.

Recommended fix High confidence

Upgrade to Horde VFS version 3.0.1 or later

  1. 1. Identify the current installed version of Horde VFS API (e.g., by checking composer.json, composer.lock, or the installed package version)
  2. 2. Upgrade Horde VFS to version 3.0.1 or later using Composer: `composer require horde/vfs:^3.0.1` or `composer update horde/vfs`
  3. 3. Verify the upgrade was successful by checking the installed version
  4. 4. If using a package manager other than Composer, use the equivalent upgrade command for that package manager
  5. 5. Test that VFS operations (particularly SMB operations) still function correctly after the upgrade
  6. 6. Confirm the fix by reviewing commit 41f74b4acfc144e09013d04dd121e0a5da808361 if available
Caveat Minor: Review any breaking changes in the Horde VFS 3.0.x changelog if upgrading from a significantly older version

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation3.0 h
  • Implementation2.0 h
  • Testing4.0 h
  • Review / QA2.0 h
11.0 hours of engineering $1,920
Get the patch applied

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,072.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-60102 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-60102 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data