CVE-2026-38093: Path Traversal

Published Aug 28, 2026
·
Updated

filepicker (aka flutterfilepicker) for Flutter, all versions through 10.3.10, is vulnerable to path traversal (CWE-22) in its Android implementation. The openFileStream() method in FileUtils.kt uses the DISPLAYNAME obtained from ContentResolver.query() directly in file path construction without sanitization. A malicious Android app with a crafted ContentProvider can return a filename containing ../ sequences, causing the plugin to create arbitrary files and directories outside the intended cache directory within the victim app's internal storage. Existing files are not overwritten due to an existence check.

Affected Software

1 affected component
file_picker (flutter_file_picker)<=10.3.10

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade file_picker (flutter_file_picker) to a version that resolves this vulnerability.

    Fixed in 10.3.10

Event History

Aug 28, 2026
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Data Sourced
via NVD·04:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which applications are affected?

Flutter applications that use file_picker on Android are affected if they include a version through 10.3.10 and invoke the Android openFileStream() path.

2

What does an attacker need to exploit this issue?

An attacker needs a malicious Android app that exposes a crafted ContentProvider. The provider must return a DISPLAY_NAME containing ../ sequences when queried by the vulnerable plugin code.

3

Can this overwrite files already present in the victim app's storage?

No. The described implementation checks whether a target already exists, so existing files are not overwritten. It can still create arbitrary new files and directories outside the intended cache directory within the victim app's internal storage.

4

What can be done before updating the dependency?

Avoid using openFileStream() with content supplied by untrusted Android ContentProviders, because the vulnerable path constructs file paths directly from the provider-controlled DISPLAY_NAME.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203