Skip to content

Build1 publisherNot yet confirmed elsewhere2 min readPublished

Alluxio's S3 proxy accepted any user named in an unsigned header by default

Alluxio's S3 REST proxy skipped AWS signature checks by default, a flaw NVD scores 9.3 as CVE-2026-79787. An attacker needs only a network route to the port, so internal reachability decides which clusters are exposed until they upgrade.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Alluxio's S3 proxy accepted any user named in an unsigned header by default
Generated illustration

What happened

  • An attacker can put a username into an unsigned Authorization header and act as that user, service accounts included, to read, write and delete arbitrary data.
  • The faulty code path is S3RestUtils.java in Alluxio's core/server/proxy module, and the bug is tracked as Alluxio issue 18755.
  • ZoomEye queries run on 2026-10-05 found 250 assets with Alluxio in the page title and none by application fingerprint.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • exposure Scheduled jobs and query engines that read from proxy-writable paths can be fed attacker-written files, so storage access becomes code execution and corrupted downstream tables.
  • cost Deleted objects come back only from backups, so recovery time after an intrusion depends on backup coverage for every bucket the proxy fronts.
  • constraint User names logged during the vulnerable period are whatever the attacker typed, so attribution of past reads and deletes cannot rest on the proxy's own logs.

S3 has no login step [7]. A client signs each request with its secret key, and the server recomputes the signature from the secret it holds for the access key the client claims [7]. A match is the authentication. There is no session, cookie or token behind it [7].

According to a write-up on dev.to, Alluxio's proxy handler parsed the Authorization header for the access key, resolved a user, and carried on without completing the signature comparison [8]. Every request was then authenticated as whoever the header named [8]. The header is attacker-controlled text, so nothing else in the request has to be forged [8].

In my view the default is the larger defect. The write-up says a stronger mode exists in the code, but installations that never changed the relevant option are exposed [9]. A proxy that verifies signatures only when an option is enabled is not verifying them in the state most clusters run in, the write-up argues [9].

The point of the proxy is to let applications built for Amazon S3 work with an Alluxio cluster unchanged [3]. Those applications sign every request already [7]. A handler that skips the comparison accepts a correctly signed request just as it accepts an unsigned one. A healthy pipeline shows no symptom, and integration tests with real credentials pass against the vulnerable build [22].

The write-up's remediation, in the order I would run it:

1. Keep the proxy off the open internet. On a reachable port the attacker needs nothing else [13]. 2. Put an authenticating gateway in front of it while the upgrade is scheduled. Even a coarse credential check removes the anonymous case the flaw depends on [14]. 3. Upgrade to the release containing the fix, and confirm the version actually running instead of the one in a chart's default values [12]. 4. Send a deliberately unsigned request to a test instance and confirm it is rejected [16]. 5. Search object storage logs for access keys that do not match the pattern your applications use [15].

Step 4 is the one I would not skip, for the reason above. The write-up links the handler source at v2.9.5 but does not name the release that carries the fix [2].

The internet scan figures say little about risk [18]. A zero from the fingerprint query means ZoomEye has no application fingerprint for Alluxio [19]. The title query also matches the Maven artifact and the documentation site, which are indexed alongside running clusters [20]. Neither count reports a version or whether the S3 proxy is enabled [18].

What to watch

  • Whether the fixed release turns signature verification on by default or still leaves the stronger mode behind an option.
  • An affected-version range from NVD or Alluxio, so operators pinned to older charts can tell whether they are in scope.
  • A public proof of concept against internally reachable proxies; the attack needs no forged credentials, so one would be short.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence55
Adoption
Insufficient
Hype gap+10
Incentives
Insufficient
Confidence50
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The referenced code path is S3RestUtils.java in the core/server/proxy module, and the tracking issue is Alluxio issue 18755.

  2. [2]

    The write-up's code reference points to S3RestUtils.java in core/server/proxy at v2.9.5, and its remediation advice says to upgrade to the release containing the fix without giving a version number.

    ReportedSupportedSource: dev.to write-up references list2 sources— create a free account to open themView cited source
  3. [3]

    Alluxio's S3 REST proxy exists so applications written for Amazon S3 can talk to an Alluxio cluster without modification.

    ReportedSupportedSource: dev.to write-upView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 8, 2026

    Alluxio's S3 proxy skipped signature verification, and everyone was root

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Loading related stories