---
id: "CVE-2026-103028"
kind: "vulnerability"
aliases: ["CVE-2026-103028", "GHSA-wwv9-g5x4-966q", "GO-2026-6802"]
title: "SFTPGo source-side file-pattern filter bypass during copy operations in github.com/drakkan/sftpgo"
severity: "medium"
cvss: 4.3
epss: 0.00219
exploited: false
status: "open"
category: "package"
products: [{"name": "github.com/drakkan/sftpgo", "fixed": [], "affected": "all versions", "ecosystem": "go"}, {"name": "github.com/drakkan/sftpgo/v2", "fixed": ["2.7.6"], "affected": ">= 2.5.0, < 2.7.6", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["file-transfer", "go", "package", "self-hosted", "sftp"]
not_affected_if: ["no-copy-permission-users", "no-denied-or-hide-patterns", "version-outside-2.5.0-to-2.7.5"]
published_at: "2026-10-13T15:17:30+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T20:03:24+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6802", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-103028", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-103028", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# SFTPGo source-side file-pattern filter bypass during copy operations in github.com/drakkan/sftpgo

SFTPGo, a Go file transfer server, versions 2.5.0 through 2.7.6 check file-pattern filters only on a copy's destination, not its source. An authenticated user with copy permission can copy a denied or hidden file to an allowed name and read its contents.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:github.com/drakkan/sftpgo affected all versions fixed ?
- go:github.com/drakkan/sftpgo/v2 affected >= 2.5.0, < 2.7.6 fixed 2.7.6

## How to check

Run the sftpgo binary with 'sftpgo -v' or check the go.mod of projects importing github.com/drakkan/sftpgo/v2 for a version between 2.5.0 and 2.7.6.

## Fix

Upgrade github.com/drakkan/sftpgo/v2 to 2.7.6 or later.

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6802
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-103028
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-103028

## From the sources

SFTPGo is an open source, event-driven file transfer solution. From 2.5.0 until 2.7.6, an authenticated user with copy permission can copy a source file denied by denied_patterns or outside allowed_patterns to an allowed destination name because file-pattern filters are evaluated only on the destination. The user can then read the denied file contents. Recursive directory copies can reproduce restricted contents under an allowed path, and the hide policy is bypassed because files that appear missing to stat and directory listings can still be copied. Home-directory boundaries, virtual-folder layout, per-directory permissions, access to other accounts, and administrative authorization remain enforced. This issue is fixed in 2.7.6.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
