Backport of Win-specific suppression of potentially rogue construct that can engage...
authorShaju Mathew <shaju@google.com>
Tue, 5 Apr 2022 14:45:28 +0000 (14:45 +0000)
committerRoger Shimizu <rosh@debian.org>
Tue, 31 Jan 2023 07:58:29 +0000 (07:58 +0000)
Bug:209438553

Ignore-AOSP-First: Resolution for potential security exploit.

Test: Relying on presubmits for now.
Will followup with a full-fledged sync and manual cursory test.

Merged-In: Ie1f82db2fb14e1bdd183bf8d3d93d5e9f974be5d
Change-Id: I2a5da348eba104a7d06d6c0acb3cd56b770142a1

Gbp-Pq: Topic cve
Gbp-Pq: Name CVE-2022-20128.patch

system/core/adb/client/file_sync_client.cpp

index 922f2ba4c391ac415b728776ecc95f1d99603a20..a5207c7bfaffbfea9f9cebafd6890233a3dd1634 100644 (file)
@@ -399,7 +399,17 @@ class SyncConnection {
 
             if (!ReadFdExactly(fd, buf, len)) return false;
             buf[len] = 0;
-
+            // Address the unlikely scenario wherein a
+            // compromised device/service might be able to
+            // traverse across directories on the host. Let's
+            // shut that door!
+            if (strchr(buf, '/')
+#if defined(_WIN32)
+                || strchr(buf, '\\')
+#endif
+            ) {
+                return false;
+            }
             callback(dent.mode, dent.size, dent.mtime, buf);
         }
     }