Skip to content
The Cyber Security Place

The automation platform was the credential store nobody inventoried

Event dated 7 January 2026 · Published 2 September 2026 · 4 sources

An unauthenticated flaw in the workflow platform n8n, tracked as CVE-2026-21858 and scored 10.0, was disclosed on 7 January 2026. The chain runs from a Content-Type confusion in webhook handling to arbitrary file read, then uses the configuration and database it reads to forge an administrator session, then reaches code execution. Versions before 1.121.0 are affected and self-hosted, internet-exposed installations carry the risk. The consequence is not one compromised server: an automation platform holds working credentials for every system it was wired to, so what the chain reaches is that whole list.

Severity ten is reserved for findings with no mitigating condition — no authentication, no user interaction, full compromise. On the ordinary reading this is a patching item with an unusually short deadline: upgrade past 1.121.0, confirm nothing is exposed, move on.

The ordinary reading understates it, and the reason has nothing to do with the flaw. It has to do with what this particular kind of software is for. A workflow platform exists to join systems that were not designed to talk to each other, and joining them requires being given the keys to both. Every connector configured over the platform's life leaves a working credential behind, and it has to be a working one, because the automation runs unattended at three in the morning.

Each link is a reasonable decision

Reading the chain is more instructive than reading the score. Webhook handling that trusts a Content-Type header is a convenience, and one that has been in web frameworks for twenty years. Storing session-signing secrets in configuration is standard. Letting workflow expressions evaluate code is the entire feature: a platform that could not transform data between steps would not be a workflow platform.

None of those is a mistake in isolation, and that is the uncomfortable part. The vulnerability is in the composition — a parsing shortcut that reaches a secret that validates a session that unlocks an evaluator. Reviewing each component against its own purpose would find nothing.

The inventory question this raises

Most organisations can name their secret stores. The vault is on the list, the certificate authority is on the list, the identity provider is on the list. The automation platform is on a different list — with the productivity tools — because it was adopted to save somebody an afternoon, not to hold anything.

It ends up holding a great deal, and it accumulates rather than being provisioned. Nobody decides that the automation platform will hold thirty credentials; thirty workflows get built over two years, each adding one. The result is a credential store with no owner, no rotation schedule, and no entry in the inventory that would trigger either.

What to do beyond the upgrade

Upgrade first, and check exposure — a self-hosted instance reachable from the internet is the condition that turns this from serious to urgent, and it is the one thing that can be changed in an afternoon regardless of version.

Then treat the platform as what it turned out to be. List the credentials it holds and what each can reach, which is a list most teams have never produced. Where a connector holds broad access because broad access was easier to configure, narrow it. And assume that a compromise of this class is a credential incident rather than a server incident: the response is rotation across every connected system, not rebuilding one host.

That last point is the difference between a bad week and a bad quarter, and it is decided before anything happens — by whether anybody can answer, on the day, what the platform was holding.