Browser extensions v2026.4.0+ fail with EncString(InvalidTypeSymm) — type 2 encrypted strings have 3 parts (data|iv|mac) instead of standard 2 #7334
Unanswered
jr2804
asked this question in
Bitwarden Clients Q&A
Replies: 2 comments 1 reply
-
|
Not sure what the LLM was thinking, but Vaultwarden doesn't have any Also, I'm missing the requested support string. Also, I'm not having issues my self. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
-
Description
Browser extensions (Chrome, Firefox, Edge) v2026.4.0+ and Android app fail to load vault entries after successful login. The web vault (v2026.4.1) works fine.
The extensions show successful authentication (user avatar visible) but the vault stays on skeleton loading placeholders indefinitely and never shows entries.
Error
From extension DevTools console:
The same error occurs on Android after clearing all app data and on browser extensions after full reinstall / clear storage.
Environment
Root Cause Analysis
Encryption format mismatch
Vaultwarden's
encrypt()function produces type 2 (AesCbc256_B64) encrypted strings with 3 pipe-separated parts (data|iv|mac):The Bitwarden specification states that type 2 should have 2 parts (
data|iv), while the MAC is only expected for type 0 (AesCbc256_HmacSha256_B64, format:0.data|iv|mac).Verified
profile.key): type 2 with 3 partsprofile.privateKey): type 2 with 3 partsThe Python python-vaultwarden library handles this format leniently, but the new Rust WASM SDK (introduced in Bitwarden extension v2026.4.0+) validates strictly and throws
InvalidTypeSymm.The stack trace confirms the error originates at
getStore browser-local-storage.service.ts:78— the WASM SDK crashes when trying to parse the locally stored encrypted data after a successful API sync.Why web vault works
The web vault v2026.4.1 uses the older JavaScript-based SDK which is lenient about the type 2 format. The Rust WASM SDK is only used in browser extensions and mobile apps.
Steps to Reproduce
vaultwarden/server:1.36.0)EncString(InvalidTypeSymm { enc_type: "0", parts: 1 })Expected Behavior
Browser extensions and Android app should successfully load and display vault entries after login, as the web vault does.
Possible Fix
Vaultwarden's
encrypt()function should either:0.data|iv|mac) instead of type 2 with MAC2.data|iv(without MAC)Existing Data
Labels
bug, encryption, sdk-compatibility
Beta Was this translation helpful? Give feedback.
All reactions