diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-08 20:29:45 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-08 20:29:45 +0000 |
commit | 207c01bfe053b5853bd60cba4736ded64e8fa172 (patch) | |
tree | cafcf07bc573f9c71318e28822c72f0494fbba8a | |
parent | d42484eb53f9528d1751999d80eff9766c7800ca (diff) | |
parent | c8159ac52101bbc60add634f0640cb507994ad50 (diff) | |
download | core-android-security-11.0.0_r68.tar.gz |
Merge cherrypicks of [17586924] into security-aosp-rvc-release.android-security-11.0.0_r75android-security-11.0.0_r74android-security-11.0.0_r73android-security-11.0.0_r72android-security-11.0.0_r71android-security-11.0.0_r70android-security-11.0.0_r69android-security-11.0.0_r68android-security-11.0.0_r67android-security-11.0.0_r66android-security-11.0.0_r65android-security-11.0.0_r64android-security-11.0.0_r63android-security-11.0.0_r62android-security-11.0.0_r61android-security-11.0.0_r60android-security-11.0.0_r59android-security-11.0.0_r58android-security-11.0.0_r57android-security-11.0.0_r56android11-security-release
Change-Id: Id1858f8596b2ce2d375d38ad4f2d4910b2996d13
-rw-r--r-- | adb/client/file_sync_client.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/adb/client/file_sync_client.cpp b/adb/client/file_sync_client.cpp index e686973db..3374812d5 100644 --- a/adb/client/file_sync_client.cpp +++ b/adb/client/file_sync_client.cpp @@ -477,6 +477,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); } } |