🛡️ CVE-2026-56294 — capacitor-native-biometric

🟡 CVSS 4.8 — Medium ✅ No Known Exploit CWE-287 NVD
4.8
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

cap-go/capacitor-native-biometric Authentication Bypass There is a potential issue with the [cap-go/capacitor-native-biometric](https://github.com/Cap-go/capacitor-native-biometric) library. ## Summary The [cap-go/capacitor-native-biometric](https://github.com/Cap-go/capacitor-native-biometric) library was found to be subject to an authentication bypass as the current implementation of the `onAuthenticationSucceeded()` does not appear to handle a `CryptoObject`[^HackTricks1] [^SecuringBiometricAuthentication] as seen in the following code block starting from [line 88 in AuthActivity.java](https://github.com/Cap-go/capacitor-native-biometric/blob/main/android/src/main/java/ee/forgr/biometric/AuthActivity.java#L88): ```java @Override public void onAuthenticationSucceeded( @NonNull BiometricPrompt.AuthenticationResult result ) { super.onAuthenticationSucceeded(result); finishActivity("success"); } ``` As the current implementation only checks whether `onAuthenticationSucceeded()` was called and does not handle a `CryptoObject` the biometric authentication can be bypassed by hooking the `onAuthenticationSucceeded()` function. ## PoC Video: https://github.com/user-attachments/assets/b7b5a2bc-21dc-4373-b371-84b002dae7a7 ## Environment: The following steps were taken to create and deploy a Capacitor application using the `cap-go/capacitor-native-biometric library` for the purpose of verifying this finding. Note at the time of writing the `npx create-react-app` command broke, so I have provided two ways of creating and deploying the testing environment. Apparently React updated to version 19 caused a dependency issue as seen [here](https://github.com/facebook/create-react-app/issues/13715). If it is not fixed by the time you look at this PoC please use the yarn alternatives. 1. Create a new Capacitor app by opening your terminal and run the following commands to create a new Capacitor app. For the sake of the disclosure I'll be using the name `capgo-poc`: ```sh npx create-react-app capgo-poc --template typescript ``` Yarn Alternative: ```sh npm install --global yarn yarn create react-app capgo-poc --template typescript ``` 2. Install dependencies by navigating into your app's directory and run the following command to install Capacitor's core dependencies: ```sh cd capgo-poc npm install @capacitor/core npm install @capacitor/cli npm install @capacitor/android npm install @capgo/capacitor-native-biometric npm install react ``` Yarn Alternative: ```sh cd capgo-poc yarn add @capacitor/core yarn add @capacitor/cli yarn add @capacitor/android yarn add @capgo/capacitor-native-biometric yarn add react ``` 3. Initialise the project using the name `capgo-poc` and `com.capgo.poc`, and add the android platform by running the following commands: ```sh npx cap init npx cap add android ``` 4. Configure the android permissions by opening the `android/app/src/main/AndroidManifest.xml` file and add the necessary permissions: ```xml ``` 5. Implement Biometric Authentication, here is some basic code to use the biometric authentication feature. Modify the TSX file called `App.tsx` in `src/` and import the following code: ```js import React, { useState } from 'react'; import { NativeBiometric } from '@capgo/capacitor-native-biometric'; const App = () => { // State to hold authentication status const [authStatus, setAuthStatus] = useState(null); // Function to authenticate the user const authenticateUser = async () => { try { const result = await NativeBiometric.verifyIdentity({ reason: 'For an application access', title: 'Log in', subtitle: '', description: 'Verify yourself by biometrics', useFallback: true, maxAttempts: 3, }).then(() => true) .catch(() => false); if (!result) { setAuthStatus('failed'); } else { setAuthStatus('success'); } } catch (error) { console.error('Error during biometric verification:', error); setAuthStatus('error'); } }; return (

CAP-GO Capacitor Native Biometric Authentication

{/* Conditionally render based on authentication status */} {authStatus === 'success' &&

CAP-GO Capacitor Native Biometric Authentication Success

} {authStatus === 'failed' &&

CAP-GO Capacitor Native Biometric Authentication Failed

} {authStatus === 'error' &&

Error during authentication

}
); }; export default App; ``` 6. Build the React project, synchronise it with the Android platform, and open the native Android project in Android Studio by running the following commands: ```sh npm run build npx cap sync android

How this vulnerability can be exploited

This issue can be reached with physical access to the device, attack complexity is high, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity low, availability none.

Weakness class

CVE-2026-56294 is classified as CWE-287: Improper Authentication. The identity of the caller is not established correctly, so an attacker can act as another user.

Affected software

CVE-2026-56294 is recorded against 2 packages.

  • @capgo/capacitor-native-biometric
  • unknown

Timeline and source

Published on 10 February 2026 and last revised on 8 July 2026. No public exploit is currently recorded for this entry. Record sourced from NVD.

References

github.com (Web)
github.com (Web)
github.com (Package)

Details

Severity Medium
CVSS Score 4.8
CVSS Vector CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
CWE CWE-287
Public Exploit ✅ No
Source NVD
Published 2026-02-10
Updated 2026-08-12
Modified 2026-07-08
Fix URL N/A

Affected Packages

Software From version Fixed in
@capgo/capacitor-native-biometric
unknown

Similar Threats

Vulnerability Monitoring

Track new vulnerabilities in capacitor-native-biometric

CVE-2026-56294 is rated CVSS 4.8 Medium. BotEraser monitors your WordPress installation and notifies you when software you use appears in our vulnerability database.

Set Up Free Alerts →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.