What this checks: whether an Atlassian Confluence host runs a version affected by unauth pre-auth arbitrary file read via /s/ endpoint. Read-only: it fingerprints Atlassian Confluence and reads the version, no exploitation.
3. Detection — reads the Atlassian Confluence version from the version exposed at /login.action, compares to 7.12.3. Flags vulnerable on an affected build. No exploitation.
1. Target List — paste your Atlassian Confluence URLs here, one per line (e.g. https://host.example.com).
Overview
This workflow finds Atlassian Confluence Server and Data Center and sorts each host by whether its version falls below the CVE-2021-26085 floor. CVE-2021-26085 is a pre-authentication arbitrary file read through Confluence resource paths. This check never hits /s/ and never asks the server to return a file. Give it hostnames, IP addresses, or URLs you are authorised to test. The workflow GETs /login.action only, fingerprints Confluence from page markers, reads ajs-version-number, and compares that number to 7.12.3 in the graph. Every host comes back affected or not, so a fleet advisory becomes an evidenced list for exposure management. An affected row is a version signal only.
Run it on a schedule when Confluence nodes lag just under 7.12.3. A host that stayed on 7.12.2 after the advisory is the reason the same fingerprint stays useful.
Pipeline
Read the target list. Hosts, URLs, or ranges, one per line, become the scope.
GET /login.action on each host and fingerprint Confluence from page markers such as ajs-version-number and the powered-by footer.
Parse the version from ajs-version-number and compare it to the CVE-2021-26085 floor in the graph (7.12.3).
Collect the per-host rows: product match, version, vulnerable flag, and any fetch error.
Emit the summary counts: hosts checked, product hits, vulnerable, and errors.
Inputs
Target scope. Hostnames, IP addresses, CIDR ranges, or URLs, one per line. Full URLs and host:port entries work too, since the workflow normalizes each into a bare host. Point it at scope you are authorised to test.
Outputs
results.jsonl. One row per host: URL, whether Confluence was detected, the version read, the vulnerable flag, and detail text.
findings.jsonl. The same per-host verdict shaped for triage, with severity set from the vulnerable flag.
summary.json. Counts across the list: targets, product hits, vulnerable, and errors, plus the detection notes from the graph.
Integrations
HTTP. Unauthenticated GET of /login.action only. No /s/ resource path and no file-read probe.
Sample output
The records below are illustrative and do not come from a real run. They show one Confluence host below the CVE-2021-26085 floor, one at or above 7.12.3, and one host that is not the product.