Skip to content
Heist/ feed
Back to feed
Low

Security advisory

Type: advisorySources: OSVCVE: CVE-2026-38093

file_picker (aka flutter_file_picker) 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 DISPLAY_NAME 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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-38093
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 07:55 UTC · Revision 1

Source evidence

CVE-2026-38093

core-osv · Original source

Published 28 Aug 2026, 00:00 UTC

file_picker (aka flutter_file_picker) 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 DISPLAY_NAME 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.

osv:CVE-2026-38093
Complete source record
{
  "id": "bb89580784da0d6dcead7dab043c0d5892530a3eb0b08651e0de0cfab082a234",
  "url": "https://osv.dev/vulnerability/CVE-2026-38093",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2026-38093",
    "summary": "file_picker (aka flutter_file_picker) 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 DISPLAY_NAME 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.",
    "evidence": "osv:CVE-2026-38093",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-38093",
      "aliases": [
        "CVE-2026-38093"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vicajilau/flutter_file_picker",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "97e4c8d904be181fc4cf8adc73d1ec889db0f287"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "10.3.10"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v10.3.10",
            "v10.3.8",
            "v10.3.7",
            "v10.3.6",
            "v10.3.3",
            "v10.3.2",
            "v10.3.0",
            "10.1.0",
            "10.0.0",
            "9.2.3",
            "9.2.2",
            "9.2.1",
            "9.2.0",
            "9.1.0",
            "9.0.3",
            "9.0.2",
            "9.0.1",
            "9.0.0",
            "8.3.7",
            "8.3.6",
            "8.3.5",
            "8.3.4",
            "8.3.3",
            "8.3.2",
            "8.3.1",
            "8.3.0",
            "8.2.0",
            "8.1.4",
            "8.1.3",
            "8.1.2",
            "8.1.1",
            "8.1.0",
            "8.0.7",
            "8.0.6",
            "8.0.5",
            "8.0.4",
            "8.0.3",
            "8.0.2",
            "8.0.1",
            "8.0.0",
            "7.1.0",
            "5.3.2",
            "5.3.1",
            "5.3.0",
            "5.2.11",
            "5.2.10",
            "5.2.9",
            "5.2.8",
            "5.2.7",
            "5.1.0",
            "4.5.0",
            "4.4.0",
            "4.3.3",
            "4.3.2",
            "4.3.1",
            "4.3.0",
            "4.2.8",
            "4.2.7",
            "4.2.6",
            "4.2.5",
            "4.2.2",
            "4.2.1",
            "4.2.0",
            "4.1.0",
            "4.0.3",
            "4.0.2",
            "4.0.1",
            "4.0.0",
            "3.0.3",
            "3.0.2",
            "3.0.1",
            "2.1.3",
            "2.1.0",
            "web-1.0.2",
            "web-1.0.1",
            "interface-1.3.1",
            "io-1.13.0",
            "io-1.12.0",
            "io-1.11.0",
            "interface-1.2.0",
            "1.9.0",
            "1.8.0",
            "1.7.0",
            "1.6.1",
            "1.6.0",
            "1.5.0+1",
            "1.5.0",
            "v1.4.3",
            "v1.4.2",
            "v1.4.0",
            "v1.3.8",
            "v1.3.5",
            "v1.3.4+1",
            "v1.3.4",
            "v1.3.0",
            "v1.2.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-38093.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:33.630840925Z",
      "provider": "osv",
      "references": [
        "https://pub.dev/packages/file_picker",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/38xxx/CVE-2026-38093.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-38093",
        "https://github.com/miguelpruivo/flutter_file_picker/issues/1967",
        "https://github.com/miguelpruivo/flutter_file_picker"
      ],
      "provider_metadata": {
        "cna_assigner": "mitre",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/38xxx/CVE-2026-38093.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-38093",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 501007,
  "published_at": "2026-08-28T00:00:00+00:00"
}