vciy
vciy-2026-0007 · jbardin/scp.py · CWE-22

Incomplete fix for CVE-2026-109152: path traversal via directory push commands in scp.py

Verification of commit 42fc3aaa71411daed60544e3b40179c1038bed5d (fixing CVE-2026-109152 in v0.16.2) identified that while file receive operations now check os.path.commonpath against the active receive directory, directory push commands update the active receive directory without enforcing canonical containment.

Receipt & provenance · vciy-2026-0007
Advisory ID
vciy-2026-0007canonical vciy advisory identifier
Upstream project
jbardin/scp.pyPython (PyPI)
Affected versions
scp.py <= 0.16.2verified on upstream default branch
Weakness class
CWE-22Improper Limitation of a Pathname to a Restricted Directory
Related CVE records
CVE-2026-109152upstream fix commit inspected
Upstream tracking
Coordinated disclosure via maintainer security contact (issue #206)reported 2026-10-22 · Coordinated disclosure in progress
Credit
Jonathan Corners (@JCorners68), Voxell, Inc. (https://vciy.com)discovered and reported
01

Root cause and sibling analysis.

When a stateful file transfer client validates file writes against a mutable current working directory, every protocol command that mutates the current working directory must enforce the same canonical containment boundary before updating the directory state.

In accordance with the maintainer's disclosure instructions in issue #206, exact line numbers and the remediation diff are withheld while coordinated disclosure is in progress.

02

Remediation.

Apply the upstream scp.py update once released, and avoid fetching files via SCP from untrusted remote peers.