CVE-2018-19937
Description
A local, authenticated attacker can bypass the passcode in the VideoLAN VLC media player app before 3.1.5 for iOS by opening a URL and turning the phone.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2- Range: <3.1.5
Patches
Vulnerability mechanics
Root cause
"Missing passcode validation in the `application:openURL:options:` delegate method allows URL handling to bypass the app's passcode lock."
Attack vector
A local attacker who has physical access to an unlocked iOS device running VLC can bypass the app's passcode lock by opening a specially crafted URL (e.g., a `vlc://` scheme URL) while the phone is being turned or rotated. The bug occurs because the `application:openURL:options:` delegate method did not enforce passcode validation before processing the URL, so the attacker can trigger media playback or other actions without entering the passcode. The "turning the phone" action likely triggers a re-layout or re-entry path that skips the passcode screen [ref_id=1].
Affected code
The vulnerability resides in the iOS app delegate's handling of the `openURL:` callback. Before the patch, the `application:openURL:options:` method did not call `validatePasscodeIfNeededWithCompletion:` before processing the incoming URL, allowing the URL to be handled without passcode validation. The patch adds a passcode validation block inside `application:openURL:options:` that defers library setup and URL opening until after the passcode check completes [ref_id=1].
What the fix does
The fix wraps the URL-handling logic inside a `validatePasscodeIfNeededWithCompletion:` block, ensuring that the passcode is verified before the URL is processed. Additionally, the patch refactors the initial library setup into a separate `setupLibrary` method that is called only after passcode validation, preventing the app from exposing its full interface before the passcode check completes [ref_id=1].
Preconditions
- authAttacker must have physical access to an unlocked iOS device with VLC installed and a passcode lock enabled in the app.
- inputAttacker must be able to open a URL (e.g., via a malicious link or custom URL scheme) while the device is being turned or rotated.
- configThe VLC app must be running or able to receive the URL via the `openURL:` delegate callback.
Generated on Jun 11, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
2- github.com/videolan/vlc-ios/pull/178/commits/d84d7c0a94eb7fba202d2c5fc3739276d2d3986fmitrex_refsource_MISC
- itunes.apple.com/ms/app/vlc-for-mobile/id650377962mitrex_refsource_CONFIRM
News mentions
0No linked articles in our index yet.