You are viewing this page in an unauthorized frame window.
This is a potential security issue, you are being redirected to
https://nvd.nist.gov
An official website of the United States government
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock () or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.
## 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.
Metrics
NVD enrichment efforts reference publicly available information to associate
vector strings. CVSS information contributed by other sources is also
displayed.
By selecting these links, you will be leaving NIST webspace.
We have provided these links to other web sites because they
may have information that would be of interest to you. No
inferences should be drawn on account of other sites being
referenced, or not, from this page. There may be other web
sites that are more appropriate for your purpose. NIST does
not necessarily endorse the views expressed, or concur with
the facts presented on these sites. Further, NIST does not
endorse any commercial products that may be mentioned on
these sites. Please address comments about this page to [email protected].
Title: Cordova Plugin InAppBrowser de Apache Software Foundation, Description: ## Resumen
La implementación para iOS de 'cordova-plugin-inappbrowser' pasa el campo 'id' de un cuerpo de 'WKScriptMessage' a 'commandDelegate sendPluginResult:callbackId:' sin validación de formato ('CDVWKInAppBrowser.m:560-574'). Cualquier contenido web cargado dentro del InAppBrowser puede activar cualquier callback de Cordova pendiente en la aplicación anfitriona publicando un mensaje cuyo campo 'id' es un identificador de callback adivinable o enumerado. Un ataque que abuse de esta debilidad debe adaptarse a los 'plugins' específicos y a los IDs de callback que utiliza la aplicación anfitriona. Aunque un atacante con conocimiento de configuraciones comunes de 'plugins' de Cordova podría crear cargas útiles reutilizables dirigidas a 'plugins' ampliamente adoptados.
## Impacto
Un atacante remoto no autenticado que controla el contenido mostrado en el InAppBrowser - a través de una URL que la aplicación abre (redirección OAuth, enlace de marketing, objetivo de enlace profundo) o una intercepción de red - puede llamar a 'window.webkit.messageHandlers.cordova_iab.postMessage({id: victim-callback-id , d: ... })' para activar callbacks pertenecientes a cualquier otro 'plugin' de Cordova instalado (Cámara, Contactos, Archivo, Geolocalización). Los IDs de callback de Cordova siguen el formato predecible ' PluginName sequential-integer ', lo que hace que la enumeración sea factible. La explotación exitosa permite al atacante suplantar resultados de 'plugins' a través de límites de confianza - por ejemplo, inyectando una aprobación de cámara falsificada, una lista de contactos fabricada o una respuesta de lectura de archivo manipulada.
Este problema afecta al 'plugin' de Cordova InAppBrowser: desde la versión 3.1.0 hasta la 6.0.0.
Se recomienda a los usuarios actualizar a la versión 6.0.1, que corrige el problema.
Initial Analysis by NIST6/30/2026 2:59:47 PM
Action
Type
Old Value
New Value
Added
CVSS V3.1
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Added
CWE
NVD-CWE-noinfo
Added
CPE Configuration
OR
*cpe:2.3:a:apache:cordova_inappbrowser:*:*:*:*:*:*:*:* versions from (including) 3.1.0 up to (excluding) 6.0.1
New CVE Received from Apache Software Foundation6/08/2026 8:16:32 AM
Action
Type
Old Value
New Value
Added
Description
## 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.