Skip to content

fix: resolve #1102 — tinker补丁zip解压缩漏洞#1792

Open
Nam0101 wants to merge 3 commits into
Tencent:devfrom
Nam0101:contribai/feat/apply-same-zip-slip-validation-in-bsdiff
Open

fix: resolve #1102 — tinker补丁zip解压缩漏洞#1792
Nam0101 wants to merge 3 commits into
Tencent:devfrom
Nam0101:contribai/feat/apply-same-zip-slip-validation-in-bsdiff

Conversation

@Nam0101
Copy link
Copy Markdown

@Nam0101 Nam0101 commented May 16, 2026

Summary

fix: resolve #1102 — tinker补丁zip解压缩漏洞

Problem

Severity: High | File: tinker-android/tinker-android-lib/src/main/java/com/tencent/tinker/lib/patch/BsDiffPatchInternal.java

This sibling class extracts native library entries from the same patch zip. It is subject to the same Zip Slip vector if it uses ZipEntry.getName() to construct destination paths under the patch lib directory.

Solution

Refactor the entry-name validator into a shared utility (see suggested PatchEntryUtils below) and call it for every ZipEntry consumed in patchFastExtractDiffInternals / similar methods. Also perform the canonical-path containment check before writing each extracted file.

Changes

  • tinker-android/tinker-android-lib/src/main/java/com/tencent/tinker/lib/patch/PatchEntryUtils.java (new)
  • tinker-android/tinker-android-lib/src/main/java/com/tencent/tinker/lib/patch/ResDiffPatchInternal.java (modified)
  • tinker-android/tinker-android-lib/src/main/java/com/tencent/tinker/lib/util/PatchEntryUtils.java (new)

Testing

  • Existing tests pass
  • Manual review completed
  • No new warnings/errors introduced

Note: this change was drafted with AI assistance and reviewed locally before submission.

Nam0101 added 3 commits May 17, 2026 04:14
Fixes Tencent#1102

Signed-off-by: Nguyen Van Nam <nam.nv205106@gmail.com>
Fixes Tencent#1102

Signed-off-by: Nguyen Van Nam <nam.nv205106@gmail.com>
Fixes Tencent#1102

Signed-off-by: Nguyen Van Nam <nam.nv205106@gmail.com>
@tencent-adm
Copy link
Copy Markdown
Member

tencent-adm commented May 16, 2026

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tinker补丁zip解压缩漏洞

2 participants