Skip to content

fix(security): Zip Slip + symlink hardening for v7.1.1 - #375

Open
plrthink wants to merge 1 commit into
7.xfrom
cursor/v7-security-backport-0f19
Open

fix(security): Zip Slip + symlink hardening for v7.1.1#375
plrthink wants to merge 1 commit into
7.xfrom
cursor/v7-security-backport-0f19

Conversation

@plrthink

@plrthink plrthink commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

Security backport for users on v7.x (React Native < 0.70), as promised in SECURITY.md.

Android

  • Added ZipSecurity helper (validateExtractPath, createExtractParameters with symlinks disabled).
  • unzip no longer uses extractAll; iterates entries with Zip Slip validation and symlink skipping.
  • unzipWithPassword uses ZipSecurity instead of inline path checks.
  • unzipAssets uses ZipSecurity.validateExtractPath.

iOS

  • Replaced RNZipArchive.m with RNZipArchive.mm using minizip for extract.
  • Full unzip rejects Zip Slip entries and skips symlink/__MACOSX entries (same approach as 9.4.1).
  • Updated podspec for .mm + minizip header paths.

Version

  • 7.1.1 (patch release)
Open in Web Open in Cursor 

Android: add ZipSecurity helper; validate paths and disable symlink
extraction on unzip/unzipWithPassword/unzipAssets instead of extractAll.

iOS: replace SSZipArchive full-unzip with minizip extract that rejects
Zip Slip entries and skips symlink/__MACOSX entries.

Co-authored-by: Perry <plrthink@gmail.com>
@cursor
cursor Bot changed the base branch from master to 7.x August 29, 2026 10:17
@plrthink
plrthink marked this pull request as ready for review August 29, 2026 11:01
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.

2 participants