Skip to content

[GHSA-q42j-x8rq-pjg6] Cordova Plugin InAppBrowser: iOS: Arbitrary Cordova callback IDs can be dispatched without validation from InAppBrowser WebViews#7999

Open
NiklasMerz wants to merge 1 commit into
NiklasMerz/advisory-improvement-7999from
NiklasMerz-GHSA-q42j-x8rq-pjg6
Open

[GHSA-q42j-x8rq-pjg6] Cordova Plugin InAppBrowser: iOS: Arbitrary Cordova callback IDs can be dispatched without validation from InAppBrowser WebViews#7999
NiklasMerz wants to merge 1 commit into
NiklasMerz/advisory-improvement-7999from
NiklasMerz-GHSA-q42j-x8rq-pjg6

Conversation

@NiklasMerz

@NiklasMerz NiklasMerz commented Jun 10, 2026

Copy link
Copy Markdown

Updates

  • Affected products
  • CVSS v4
  • Source code location
  • Summary

Comments
I'm finder and maintainer of this issue. Linking to repo and npm package.

Copilot AI review requested due to automatic review settings June 10, 2026 21:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds missing OSV advisory metadata for CVE-2026-47430 affecting cordova-plugin-inappbrowser, including a human-readable summary and a populated affected-version range.

Changes:

  • Added summary for the advisory.
  • Populated affected package metadata (ecosystem/name) with a fixed version.
  • Simplified the CVSS v4 vector and added a package reference URL.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"CVE-2026-47430"
],
"summary": "Cordova Plugin InAppBrowser: iOS: Arbitrary Cordova callback IDs can be dispatched without validation from InAppBrowser WebViews.",
"details": "## Summary\n\nThe iOS implementation of `cordova-plugin-inappbrowser` passes the `id` field from a `WKScriptMessage` body to `commandDelegate sendPluginResult:callbackId:` with no format validation (`CDVWKInAppBrowser.m:560–574`). Any web content loaded inside the InAppBrowser can fire any pending Cordova callback in the host app by posting a message whose `id` field is a guessable or enumerated callback identifier. An attack abusing this weakness must be tailored to the specific plugins and callback IDs the host app uses. Though an attacker with knowledge of common Cordova plugin configurations could craft reusable payloads targeting widely-adopted plugins.\n\n\n## Impact\n\nAn unauthenticated remote attacker who controls content displayed in the InAppBrowser — via a URL the app opens (OAuth redirect, marketing link, deep-link target) or a network interception — can call `window.webkit.messageHandlers.cordova_iab.postMessage({id: '<victim-callback-id>', d: '...'})` to fire callbacks belonging to any other installed Cordova plugin (Camera, Contacts, File, Geolocation). Cordova callback IDs follow the predictable format `<PluginName><sequential-integer>`, making enumeration feasible. Successful exploitation allows the attacker to spoof plugin results across trust boundaries — for example, injecting a forged camera approval, a fabricated contacts list, or a crafted file-read response.\n\nThis issue affects Cordova Plugin InAppBrowser: from 3.1.0 through 6.0.0.\n\nUsers are recommended to upgrade to version 6.0.1, which fixes the issue.",
Comment on lines +28 to +31
"introduced": "0"
},
{
"fixed": "6.0.1"
@github-actions github-actions Bot changed the base branch from main to NiklasMerz/advisory-improvement-7999 June 10, 2026 21:51
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Suggested change
"introduced": "0"
"introduced": "3.1.0"

@NiklasMerz NiklasMerz changed the title [GHSA-q42j-x8rq-pjg6] ## Summary The iOS implementation of `cordova-plugin... [GHSA-q42j-x8rq-pjg6] Cordova Plugin InAppBrowser: iOS: Arbitrary Cordova callback IDs can be dispatched without validation from InAppBrowser WebViews Jun 10, 2026
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