Skip to main content

Floci EUVDEUVD-2026-119770

| CVE-2026-124509 MEDIUM
Path Traversal (CWE-22)
2026-11-09 VulDB GHSA-cv6g-fvjc-qjxv
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send S3 request with crafted BucketARN
  2. Exploit
    Reserved/separator bucket name bypasses validation
  3. Execution
    Resolved path escapes account storage root
  4. Impact
    Overwrite or read another account's object data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a disk-backed deployment: the source evidence states the escape occurs only 'on the persistent and hybrid backends,' so an in-memory/non-persistent configuration is not affected. The trigger is a crafted bucket name supplied through the BucketARN - specifically one of Floci's reserved storage directory names ('.accounts', '.versions', '.annotations'), a name containing a path separator, or '.'/'..'/empty - which pre-patch bypassed validation and resolved outside the owning account's storage directory. Limiting factor: the escape is described relative to 'the owning account's directory,' implying the attacker already acts within an account context, so the CVSS PR:N (unauthenticated) claim is not confirmed by the mechanism and should be verified with the vendor. Impact is bounded to crossing the per-account storage boundary (reading/colliding with another account's object version and annotation data), not arbitrary host filesystem access.

Impact

This is a moderate-severity path traversal (vendor CVSS 4.0 base 6.9) with the attack-maturity extension E:P (proof-of-concept). The 4.0 vector claims network, low-complexity, no-privilege, no-interaction access (AV:N/AC:L/AT:N/PR:N/UI:N), but all impacts are rated Low (VC:L/VI:L/VA:L) with no subsequent-system impact (SC:N/SI:N/SA:N), so the ceiling is constrained to limited cross-account read/overwrite rather than full compromise. No EPSS score and no KEV listing are provided, and the vuln.today Decision label is 'this_month' - not act_now or emergency - so the decision signals point to routine patching rather than crisis response. The PR:N claim is questionable: the source evidence shows the flaw lets a crafted bucket name climb out of 'the owning account's directory,' which implies the attacker is already operating within an account context, so verify the real authentication requirement with the vendor rather than treating this as fully unauthenticated. Combined with a niche product footprint, this reads as a genuine but non-urgent, lower-priority issue - a real bug with low blast radius, not a high-CVSS-but-overrated finding nor an emergency.

Exploit ScenarioDerived

An attacker interacting with Floci's S3 API supplies a bucket name (via the BucketARN) set to a reserved storage directory such as '.versions' or '.annotations', or a name containing a path separator, which on the disk-backed (persistent or hybrid) backends resolves outside the attacker's own account storage root. This lets them collide with or overwrite another account's object version/annotation data, or escape the account boundary. A public proof-of-concept is claimed by VulDB (and reflected in CVSS E:P), but it is not verified as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 09, 2026

Path traversal in floci-io Floci 2.0 and 2.1.0 lets a caller supply a crafted bucket name through a Firehose S3 destination BucketARN and have the resulting object path resolved outside the owning account's storage directory whenever the persistent or hybrid storage backend is in use, exposing or overwriting another bucket's object version and annotation data. The flaw is fixed in 2.2.0 (commit b986b95074ef524019be7af51e1df172e48faa4b); the upstream advisory states that exploit code is publicly available and the CVSS 4.0 vector carries E:P, matching that maturity signal, and the issue is not listed in CISA KEV. Vendor severity is 6.9, while our own assessment of the mechanism is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - the PR:N rating in the published vector is not confirmed, since the escape is described relative to the owning account's directory and therefore implies an existing account context, and impact is bounded to crossing that per-account storage boundary rather than reaching arbitrary host files.

RemediationAI

Upgrade Floci to version 2.2.0, which is the release carrying the fix (https://github.com/floci-io/floci/releases/tag/2.2.0); the equivalent upstream change is PR https://github.com/floci-io/floci/pull/4289 and commit b986b95074ef524019be7af51e1df172e48faa4b. The patch rejects empty names, '.', '..', names containing a path separator, and the reserved storage directories .accounts, .versions and .annotations, and it applies that check on the versioned path resolver as well as bucket creation, so upgrading is the only complete fix. If upgrading immediately is not possible, run Floci with the in-memory, non-persistent storage backend, since the vendor states the escape occurs only on the persistent and hybrid backends - the trade-off is loss of on-disk persistence and of versioned/annotated object data across restarts. As a secondary control, restrict who can create or update Firehose delivery streams and S3 buckets (including BucketARN values they can supply) to trusted principals, which shrinks the population able to reach the vulnerable bucket-name path but does not remove the flaw; note that pre-existing bucket records persisted before the fix can still reference reserved names, so review stored state after upgrading. Because the upstream advisory reports publicly available exploit code, treat exposed instances as untrusted until patched.

Affected VersionsENISA

floci 2.1.0
floci 2.0

Affected Packages

euvd floci no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Floci is a Java-based AWS service emulator, and the affected code sits in its Firehose implementation: S3Destination.bucketName in services/firehose/model/DeliveryStreamDescription.java derives a bucket name from the caller-supplied BucketARN, which is then passed into the S3 storage layer. This is CWE-22 (path traversal): on disk-backed backends the S3 layer maps buckets to directories under a data root (dataRoot/.accounts/<accountId>/<bucketName>, with separate .versions and .annotations trees for object versioning and annotations), so a bucket name that is not path-safe resolves outside the owning account's directory. The pre-patch requirePathSafeBucketName routine rejected empty names, '.', '..', names containing a path separator, and the literal account storage root '.accounts', but did not reject the sibling reserved directories '.versions' and '.annotations', and the versioned-path resolver did not invoke the check at all. The fix in 2.2.0 centralizes this into a RESERVED_BUCKET_NAMES set covering .accounts, .versions and .annotations, adds the requirePathSafeBucketName call on the versioned path resolver, replaces string literals with named constants, and adds an integration test asserting that attempts to write through the reserved '.versions' bucket against a victim bucket's version object are rejected with InvalidBucketName. The trigger is a caller-controlled bucket name reaching the path resolver on a persistent or hybrid backend; an in-memory, non-persistent configuration writes no such directory tree and is not affected.

Know when Floci gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.3 MEDIUM

Triggered via the S3 API (AV:N/AC:L), but the escape is relative to the owning account's directory, implying account-context access (PR:L); impact is limited to cross-account object/version data, so C/I/A Low.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Nov 09, 2026 - 02:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)

DescriptionCVE.org

A vulnerability was identified in floci-io Floci up to 2.1.0. The affected element is the function S3Destination.bucketName of the file services/firehose/model/DeliveryStreamDescription.java of the component S3 Destination Configuration Handler. Such manipulation of the argument BucketARN leads to path traversal. The attack can be launched remotely. The exploit is publicly available and might be used. Upgrading to version 2.2.0 is sufficient to fix this issue. The name of the patch is b986b95074ef524019be7af51e1df172e48faa4b. You should upgrade the affected component.

Threat Intelligence Overview

Prevalence
Low
niche open-source AWS-service emulator, limited real-world production footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Related Vulnerabilities in floci-io Floci Path Traversal Vulnerabilities

View all 2

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy