mirror of
https://git.yoctoproject.org/poky
synced 2026-03-09 16:59:40 +01:00
A path traversal vulnerability exists in rsync. It stems from behavior enabled by the `--inc-recursive` option, a default-enabled option for many client options and can be enabled by the server even if not explicitly enabled by the client. When using the `--inc-recursive` option, a lack of proper symlink verification coupled with deduplication checks occurring on a per-file-list basis could allow a server to write files outside of the client's intended destination directory. A malicious server could write malicious files to arbitrary locations named after valid directories/paths on the client. (From OE-Core rev: 12328df8dfcdc73ef70af299e9ebdc1d8ae73f37) Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From 996af4a79f9afe4d7158ecdd87c78cee382c6b39 Mon Sep 17 00:00:00 2001
|
|
From: Natanael Copa <ncopa@alpinelinux.org>
|
|
Date: Wed, 15 Jan 2025 15:10:24 +0100
|
|
Subject: [PATCH] Fix FLAG_GOT_DIR_FLIST collission with FLAG_HLINKED
|
|
|
|
fixes commit 688f5c379a43 (Refuse a duplicate dirlist.)
|
|
|
|
Fixes: https://github.com/RsyncProject/rsync/issues/702
|
|
Fixes: https://github.com/RsyncProject/rsync/issues/697
|
|
CVE: CVE-2024-12087
|
|
|
|
Upstream-Status: Backport [https://github.com/RsyncProject/rsync/commit/996af4a79f9afe4d7158ecdd87c78cee382c6b39]
|
|
|
|
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
|
|
---
|
|
rsync.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/rsync.h b/rsync.h
|
|
index 9be1297b..479ac484 100644
|
|
--- a/rsync.h
|
|
+++ b/rsync.h
|
|
@@ -84,7 +84,6 @@
|
|
#define FLAG_DUPLICATE (1<<4) /* sender */
|
|
#define FLAG_MISSING_DIR (1<<4) /* generator */
|
|
#define FLAG_HLINKED (1<<5) /* receiver/generator (checked on all types) */
|
|
-#define FLAG_GOT_DIR_FLIST (1<<5)/* sender/receiver/generator - dir_flist only */
|
|
#define FLAG_HLINK_FIRST (1<<6) /* receiver/generator (w/FLAG_HLINKED) */
|
|
#define FLAG_IMPLIED_DIR (1<<6) /* sender/receiver/generator (dirs only) */
|
|
#define FLAG_HLINK_LAST (1<<7) /* receiver/generator */
|
|
@@ -93,6 +92,7 @@
|
|
#define FLAG_SKIP_GROUP (1<<10) /* receiver/generator */
|
|
#define FLAG_TIME_FAILED (1<<11)/* generator */
|
|
#define FLAG_MOD_NSEC (1<<12) /* sender/receiver/generator */
|
|
+#define FLAG_GOT_DIR_FLIST (1<<13)/* sender/receiver/generator - dir_flist only */
|
|
|
|
/* These flags are passed to functions but not stored. */
|
|
|
|
--
|
|
2.40.0
|