Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
node-proxy-agents (0~2024040606-6+deb13u1) trixie; urgency=medium

* Team upload
* Fix basic-ftp traversal vulnerability (Closes: #1129093, CVE-2026-27699)

-- Yadd <yadd@debian.org> Fri, 27 Feb 2026 07:58:26 +0100

node-proxy-agents (0~2024040606-6) unstable; urgency=medium

* Team upload
* patch: fix compilation with nodejs 20.19.2

-- Jérémy Lal <kapouer@melix.org> Tue, 20 May 2025 10:05:31 +0200

node-proxy-agents (0~2024040606-5) unstable; urgency=medium

* Team upload
* node-get-uri Depends on node-basic-ftp. Closes: #1094198.

-- Jérémy Lal <kapouer@melix.org> Sat, 25 Jan 2025 23:57:35 +0100

node-proxy-agents (0~2024040606-4) unstable; urgency=medium

* Team upload
Expand Down
1 change: 1 addition & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ Depends: ${misc:Depends}
, node-data-uri-to-buffer (>= 5)
, node-debug
, node-fs-extra
, node-basic-ftp
Multi-Arch: foreign
Description: Node.js module that returns a stream.Readable from a URI string
node-get-uri is a high-level module. It accepts a URI string and returns a
Expand Down
14 changes: 14 additions & 0 deletions debian/patches/0005-get-uri-compilation.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Description: our typescript cannot deal with OutgoingHttpHeaders, ignore errors
Forwarded: not-needed
Author: Jérémy Lal <kapouer@melix.org>
Last-Update: 2025-05-20
--- a/packages/get-uri/tsconfig.json
+++ b/packages/get-uri/tsconfig.json
@@ -8,6 +8,7 @@
"outDir": "dist",
"sourceMap": true,
"declaration": true,
+ "noImplicitAny": false,
"typeRoots": [
"./@types",
"./node_modules/@types",
32 changes: 32 additions & 0 deletions debian/patches/CVE-2026-27699.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From: Patrick Juchli <patrickjuchli@gmail.com>
Date: feb., 23 2026 09:01:12 +0100
Subject: [PATCH] Skip invalid filenames
Origin: upstream, https://github.com/patrickjuchli/basic-ftp/commit/2a2a0e65
Bug: https://github.com/patrickjuchli/basic-ftp/security/advisories/GHSA-5rq4-664w-9x2c
Bug-Debian: https://bugs.debian.org/1129093
Forwarded: not-needed
Applied-Upstream: 5.2.0, commit:2a2a0e65
Reviewed-By: Yadd <yadd@debian.org>

--- a/basic-ftp/src/Client.ts
+++ b/basic-ftp/src/Client.ts
@@ -1,5 +1,5 @@
import { createReadStream, createWriteStream, mkdir, readdir, stat, open, close, unlink } from "fs"
-import { join } from "path"
+import { basename, join } from "path"
import { Readable, Writable } from "stream"
import { connect as connectTLS, ConnectionOptions as TLSConnectionOptions } from "tls"
import { promisify } from "util"
@@ -694,6 +694,12 @@
protected async _downloadFromWorkingDir(localDirPath: string): Promise<void> {
await ensureLocalDirectory(localDirPath)
for (const file of await this.list()) {
+ const hasInvalidName = !file.name || basename(file.name) !== file.name
+ if (hasInvalidName) {
+ const safeName = JSON.stringify(file.name)
+ this.ftp.log(`Invalid filename from server listing, will skip file. (${safeName})`)
+ continue
+ }
const localPath = join(localDirPath, file.name)
if (file.isDirectory) {
await this.cd(file.name)
2 changes: 2 additions & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
use-quickjs-emscripten.patch
tsc-workaround.patch
0004-Use-modern-lru-cache.patch
0005-get-uri-compilation.patch
CVE-2026-27699.patch
Loading