Skip to content

[Snyk] Fix for 1 vulnerabilities#720

Open
revan-zhang wants to merge 1 commit intoonekeyfrom
snyk-fix-eb062320d6aaf9fbb8b9b6d527d9f0b3
Open

[Snyk] Fix for 1 vulnerabilities#720
revan-zhang wants to merge 1 commit intoonekeyfrom
snyk-fix-eb062320d6aaf9fbb8b9b6d527d9f0b3

Conversation

@revan-zhang
Copy link
Copy Markdown
Contributor

@revan-zhang revan-zhang commented Mar 31, 2026

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.

Snyk changed the following file(s):

  • packages/connect-examples/expo-example/package.json

Note for zero-installs users

If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠️ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
high severity Infinite loop
SNYK-JS-BRACEEXPANSION-15789759
  555  

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.


Note

Medium Risk
Bumps expo to a new major version, which can introduce breaking runtime/build changes in the example app despite being dependency-only updates.

Overview
Updates the expo-example app dependencies to address a reported vulnerability by upgrading expo to ^51.0.0 and aligning related packages (expo-linking, expo-splash-screen) to compatible newer versions.

Written by Cursor Bugbot for commit ef891dc. This will update automatically on new commits. Configure here.

@revan-zhang
Copy link
Copy Markdown
Contributor Author

revan-zhang commented Mar 31, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

"compressorjs": "^1.1.1",
"elliptic": "^6.5.5",
"expo": "^50.0.20",
"expo": "^51.0.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major Expo SDK bump breaks React Native compatibility

High Severity

Upgrading expo from ^50.0.20 to ^51.0.0 is a major SDK bump that requires react-native 0.74, but the project still pins react-native to 0.73.7. Additionally, several other Expo packages remain at SDK 50-compatible versions (expo-clipboard@~5.0.0, expo-document-picker@~11.10.1, expo-image-manipulator@~11.8.0, expo-image-picker@~14.7.1, expo-localization@~14.8.4, expo-status-bar@~1.11.1) and need corresponding upgrades for SDK 51 compatibility. This will likely cause build failures or runtime errors.

Additional Locations (1)
Fix in Cursor Fix in Web

Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 2 additional findings in Devin Review.

Open in Devin Review

"compressorjs": "^1.1.1",
"elliptic": "^6.5.5",
"expo": "^50.0.20",
"expo": "^51.0.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Incomplete Expo SDK 50→51 upgrade leaves companion packages and React Native at incompatible SDK 50 versions

The expo core package was bumped from ^50.0.20 to ^51.0.0 (a major Expo SDK version change), but only expo-linking and expo-splash-screen were updated among the companion packages. Expo SDK major versions require all companion packages to be updated in lockstep. The following packages remain at their SDK 50-compatible versions and are incompatible with SDK 51:

  • react-native: 0.73.7 (SDK 51 requires RN 0.74)
  • expo-clipboard: ~5.0.0 (SDK 51 requires ~6.0.x)
  • expo-document-picker: ~11.10.1 (SDK 51 requires ~12.0.x)
  • expo-image-manipulator: ~11.8.0 (SDK 51 requires ~12.0.x)
  • expo-image-picker: ~14.7.1 (SDK 51 requires ~15.0.x)
  • expo-localization: ~14.8.4 (SDK 51 requires ~15.0.x)
  • expo-status-bar: ~1.11.1 (SDK 51 requires ~1.12.x)

This will cause native module version mismatches and build or runtime failures for the expo-example app.

Prompt for agents
In packages/connect-examples/expo-example/package.json, the expo core was bumped to SDK 51 (^51.0.0) but the companion packages and react-native were not updated. Either:

1. Revert expo back to ^50.0.20 (and revert expo-linking and expo-splash-screen) if the goal is only to fix vulnerabilities without a full SDK upgrade, OR
2. Complete the SDK 51 upgrade by also bumping these packages to their SDK 51-compatible versions:
   - react-native: 0.73.7 → 0.74.x
   - expo-clipboard: ~5.0.0 → ~6.0.3
   - expo-document-picker: ~11.10.1 → ~12.0.1
   - expo-image-manipulator: ~11.8.0 → ~12.0.5
   - expo-image-picker: ~14.7.1 → ~15.0.7
   - expo-localization: ~14.8.4 → ~15.0.0
   - expo-status-bar: ~1.11.1 → ~1.12.1
   - react-native-reanimated: ~3.6.2 → ~3.10.0
   - react-native-safe-area-context: 4.8.2 → 4.10.1
   - react-native-screens: ~3.29.0 → ~3.31.1

Use 'npx expo install --fix' after updating expo to automatically resolve the correct companion package versions for the target SDK.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@socket-security
Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn Critical
Critical CVE: npm cipher-base is missing type checks, leading to hash rewind and passing on crafted data

CVE: GHSA-cpq7-6gpm-g9rc cipher-base is missing type checks, leading to hash rewind and passing on crafted data (CRITICAL)

Affected versions: < 1.0.5

Patched version: 1.0.5

From: ?npm/ripple-keypairs@1.3.0npm/cipher-base@1.0.4

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/cipher-base@1.0.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Critical
Critical CVE: Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string)

CVE: GHSA-vjh7-7g9h-fjfh Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string) (CRITICAL)

Affected versions: < 6.6.1

Patched version: 6.6.1

From: ?npm/ripple-keypairs@1.3.0npm/elliptic@6.5.4

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/elliptic@6.5.4. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Critical
Critical CVE: Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string)

CVE: GHSA-vjh7-7g9h-fjfh Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string) (CRITICAL)

Affected versions: < 6.6.1

Patched version: 6.6.1

From: ?npm/elliptic@6.5.5

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/elliptic@6.5.5. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Critical
Critical CVE: npm sha.js is missing type checks leading to hash rewind and passing on crafted data

CVE: GHSA-95m3-7q98-8xr5 sha.js is missing type checks leading to hash rewind and passing on crafted data (CRITICAL)

Affected versions: < 2.4.12

Patched version: 2.4.12

From: ?npm/ripple-keypairs@1.3.0npm/sha.js@2.4.11

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/sha.js@2.4.11. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: ?npm/cheerio@1.0.0-rc.12npm/entities@4.5.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@4.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Protestware or unwanted behavior: npm es5-ext

Note: The script attempts to run a local post-install script, which could potentially contain malicious code. The error handling suggests that it is designed to fail silently, which is a common tactic in malicious scripts.

From: ?npm/es5-ext@0.10.64

ℹ Read more on: This package | This alert | What is protestware?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Consider that consuming this package may come along with functionality unrelated to its primary purpose.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/es5-ext@0.10.64. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

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