| Title | Apache Software FoundationのApache Cordova InAppBrowserにおける入力確認に関する脆弱性 |
|---|---|
| Summary | iOS版の`cordova-plugin-inappbrowser`には、`WKScriptMessage`の本文に含まれる`id`フィールドをフォーマット検証なしに`commandDelegate sendPluginResult:callbackId:`に渡してしまう脆弱性があります。この問題により、InAppBrowser内で読み込まれた任意のウェブコンテンツは、推測可能または列挙可能なコールバック識別子を持つメッセージを通じてホストアプリの保留中のCordovaコールバックを任意に発火させることが可能です。これにより、攻撃者は他のCordovaプラグイン(カメラ、連絡先、ファイル、ジオロケーションなど)の結果を偽装するリスクがあります。この脆弱性はCordova Plugin InAppBrowserのバージョン3.1.0から6.0.0に影響し、ユーザーは修正済みのバージョン6.0.1にアップグレードすることが推奨されます。 |
| Possible impacts | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | June 8, 2026, midnight |
| Registration Date | July 1, 2026, 10:58 a.m. |
| Last Update | July 1, 2026, 10:58 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.5 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| Apache Software Foundation |
| Apache Cordova InAppBrowser 3.1.0 以上 6.0.1 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年07月01日] 掲載 |
July 1, 2026, 10:58 a.m. |
| Summary | ## Summary The 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. ## Impact An 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. This issue affects Cordova Plugin InAppBrowser: from 3.1.0 through 6.0.0. Users are recommended to upgrade to version 6.0.1, which fixes the issue. |
|---|---|
| Publication Date | June 8, 2026, 9:16 p.m. |
| Registration Date | June 9, 2026, 4:14 a.m. |
| Last Update | June 8, 2026, 11:57 p.m. |