Under development. Data in mock mode. Not real data.

CVE-2026-109618

PHP2Shell · PHP2Shell: RCE via memory corruption during out-of-memory handling · GHSA-w8hw-w9fx-j79w
runtime: phpaffected (CNA): 5.4 through 8.5.11fixed: 8.5.12 · 8.4.27 · 8.3.36 · 8.2.35KEV: not listed
A single Asian elephant standing back from a wide stone basin overflowing on its own, water welling up from within and spilling over the rim in a clean arc, head tilted and ears forward in open confusion, trunk curled up questioningly, watching the overflow it did not cause and does not understand. Flat vector illustration.
Headline tier
poc-validated tier 3 of 4
19 accepted sightings · last 2026-10-23 · first 2026-10-17
not disputed not stale
WHY TRUST THIS NUMBER
  • 7 independent reporters across the top fingerprint, 5 evidence types
  • graded by 3 core reviewers, rubric rows 2, 4, 8
  • every “exploited in the wild” claim graded to attempts; none met tier 4
  • full history below. Nothing deleted.

Explanation

written from entry data · reviewed by core/asmith

Two bugs in the PHP runtime let an attacker run code on a web server without logging in. Every PHP version from the last ten years is affected. Attackers have been trying it since 17 October, and researchers have shown it works against servers running PHP as an Apache module. No real-world break-in has been confirmed. If you run a fixed version you are covered; if you run an older branch, use the can't-patch guidance for your setup.

The path a request takes to reach the vulnerable component
The path a request takes to reach the vulnerable component
0 none
No observed activity
1 scanning
Probes, no payload
2 attempts
Payloads seen, outcome unknown
3 poc-validated ◂ now
RCE reproduced on a named config
4 confirmed
Real system compromised

Tier by deployment fingerprint

The number that matters for you
Tier by deployment fingerprint
SAPIServerConfigTierIndependent reporters
mod_php apache session.upload_progress.enabled=1 poc-validated 7
mod_php apache unspecified attempts· single-source 1
php-fpm nginx session.upload_progress.enabled=1 attempts· PoC did not achieve RCE 4
php-cgi iis unspecified scanning 2

What this means for you

Community pulse

How hard has this actually been to deal with? Three questions, anonymous, 30 seconds. 1,284 responses · no IPs stored · aggregates only
1How hard has this been to remediate for you?
2What blocked you most?
3Where are you now?

Anonymous. No account, no email, no IP. One response per browser, enforced client side only.

Difficulty, 1 to 53.9
5 still not done 33%
4 days 34%
3 a day 18%
2 an hour 9%
1 trivial 6%

1,284 responses, aggregates only. Fingerprint breakdowns need 20 responses.

Biggest blocker
41% Branch is EOL, no fix
27% My host controls PHP
14% Couldn't tell if I was exploited
10% Conflicting guidance
4% Nothing, patched fine
4% Vendor appliance, no advisory
Where people are now
48% patched
22% still exposed
19% mitigated
11% offline
By fingerprint (n ≥ 20)
4.3 fp-6a0a73b77e19 · 412 responses
3.1 fp-c8a325e4462b · 287 responses
What would have helped · reviewed before publication
“A single page that said whether php-fpm was actually at risk. Took me a day to find that.”agency · php-fpm/nginx · difficulty 4
“My host's status page said 'monitoring' for 30 hours. I needed the question to ask their support.”small business · host-managed · difficulty 5
“An IP list that expired on its own. Ours is still blocking a CDN range from Tuesday.”SOC · mod_php/apache · difficulty 3

New free-text lines are held until a reviewer approves them; they never appear here straight away.

Sighting timeline

observation dates, not report dates

Indicators · 14 active

TLP:CLEAR · signed · generated 2026-10-23 19:10Z
STIX 2.1 CSV paths.txt ips.txt
curl -s 'https://exploitobservatory.com/v1/entry/CVE-2026-109618/iocs/paths.txt?confidence=medium'
Indicators of compromise for CVE-2026-109618: type, value, confidence, independent sources and expiry
TypeValueConfidenceSourcesExpires
cidr [41 aggregated /24 ranges, see ips.txt] low 3 2026-11-22
http-header PHP_SESSION_UPLOAD_PROGRESS high 7 never
http-header PHP_SESSION_UPLOAD_PROGRESS field in multipart/form-data POST high 3 never
payload-sha256 023c…ee32 low 1 never
payload-sha256 730b…f4c9 low 1 never
payload-sha256 not searchable contains a placeholder marker n/a 2 never
process-cmdline sh -c low 1 never
sigma-ref https://github.com/splunk/security_content/releases/tag/v6.9.1 high 1 never
url-path not searchable is the site root and matches all web traffic n/a 2 never
url-path /index.php medium 2 never
url-path /php-cgi.exe low 1 never
url-path /wp-login.php medium 3 never
url-path multipart upload filename containing serialized PHP (O:, a:, s: prefixes) high 2 never
user-agent curl/8.5.0 low 1 2026-11-17

Agent prompts

v1 · entry updated 2026-10-23T19:10:00Z

Paste one into your own agent. Each is generated from this entry and states what is not known. Read the text first.

Built for every recorded fingerprint. Set your fingerprint in the picker above to specialise them.

Hunt for it in my estate

Show the hunt prompt
Task: hunt for evidence of CVE-2026-109618 (PHP2Shell) in my environment.
Source: Exploitation Observatory entry CVE-2026-109618, entry updated 2026-10-23T19:10:00Z, prompt version 1.
If that timestamp is old, regenerate this prompt at https://exploitobservatory.com/entry.html before relying on it.

You are helping a defender search their own telemetry. Use read-only queries. Do not change, block or delete anything.

The bug, from the CNA record:
- PHP2Shell: RCE via memory corruption during out-of-memory handling
- Affected versions (CNA record): 5.4 through 8.5.11
- Fixed releases (CNA record): 8.5.12, 8.4.27, 8.3.36, 8.2.35
- CNA advisory: https://www.php.net/archive/2026.php#2026-10-21-5
- CISA KEV: not listed as of 2026-10-23T18:00:00Z
- Recorded source disagreement: CERT-EU pre-release note said all PHP versions from 5 onward; CNA record lists only supported 8.2 to 8.5 branches as affected.

Evidence state, from Observatory grading:
- Headline tier: poc-validated. Meaning: remote code execution reproduced on a named configuration; a lab result, not a victim.
- Accepted sightings: 19. First sighting 2026-10-17T00:00:00Z, latest 2026-10-23T16:00:00Z.
- Tier by deployment fingerprint:
  - mod_php/apache with session.upload_progress.enabled=1 (fp-6a0a73b77e19): poc-validated; 7 independent reporters; PoC result rce
  - mod_php/apache (fp-b3705636ac2e): attempts; 1 independent reporter; PoC result not-tested
  - php-fpm/nginx with session.upload_progress.enabled=1 (fp-c8a325e4462b): attempts; 4 independent reporters; PoC result crash
  - php-cgi/iis (fp-673e158ea062): scanning; 2 independent reporters; PoC result not-tested
- Not recorded: no confirmed compromise (tier 4) of a real system has been recorded for this entry, for any fingerprint.
- Read that precisely: a working exploit has been reproduced in a lab. That is not evidence that anyone has been breached.

Indicators, highest confidence and most durable first:
Request headers and form fields (durable):
- PHP_SESSION_UPLOAD_PROGRESS [confidence high; does not expire; 7 independent reporters; stage delivery]

Request paths (durable):
- /index.php [confidence medium; does not expire; 2 independent reporters; stage exploit]
- /wp-login.php [confidence medium; does not expire; 3 independent reporters; stage exploit]
- /php-cgi.exe [confidence low; does not expire; single source; stage exploit]

Published detection rules, Sigma:
- https://github.com/splunk/security_content/releases/tag/v6.9.1 [confidence high; does not expire; single source; stage exploit]

Payload hashes (SHA-256):
- 023c7955caf9305f1070e2bc3f29bbb49f91562b220be45b8f5a087dbf4dee32 [confidence low; does not expire; single source; stage exploit]
- 730b23ceecfd06e238ac622f1f49b757a7e03580e3fcd12da5b0a6390f77f4c9 [confidence low; does not expire; single source; stage exploit]

Process command lines:
- sh -c [confidence low; does not expire; single source; stage exploit]

User agents:
- curl/8.5.0 [confidence low; expires 2026-11-17; single source; stage delivery]

Described patterns (not literal strings; write the match yourself from the description):
- PHP_SESSION_UPLOAD_PROGRESS field in multipart/form-data POST [confidence high; does not expire; 3 independent reporters; stage delivery]
- multipart upload filename containing serialized PHP (O:, a:, s: prefixes) [confidence high; does not expire; 2 independent reporters; stage exploit]

Aggregated IP ranges (low confidence, they expire, CDN egress ranges have appeared in them):
- Published as a list, not inlined: https://exploitobservatory.com/v1/entry/CVE-2026-109618/iocs/ips.txt [confidence low; expires 2026-11-22]

Withheld indicators (do not search for these, and do not read their absence as a clean result):
- payload-sha256 IOC-3c4d5e6f7081 withheld: the published value contains a placeholder marker. The value is not shown.
- url-path IOC-297775ba4eed withheld: the published value is the site root and matches all web traffic. The value is not shown.

What to do:
1. Ask me which telemetry sources I have (web server and reverse proxy logs, WAF, EDR, SIEM, network). Search only those.
2. Search the indicators above across those sources, highest confidence first. Report hits with counts, time range and the host or service, not raw bodies.
3. The recorded tier is poc-validated. Hunt for probe and attempt traffic as above, then run the configuration check in the next step.
4. Configuration check: list which of my hosts match a fingerprint with a validated result. Determine the PHP version, the way PHP is served and the web server from my inventory or configuration management, and ask me where I cannot. Validated fingerprints:
   - mod_php/apache with session.upload_progress.enabled=1 (PoC result rce)
   A host that matches is exposed to a known working technique. It is not evidence that the host was attacked.
5. No compromise artifacts are recorded for this entry, so there is no artifact list to hunt for. Do not invent one. If you find evidence of compromise on my systems, treat it as new evidence and tell me.

Caveats that stop a false positive becoming an incident:
- A blocked request is not a compromise. A WAF or CDN block is an attempt at most.
- A single-source indicator is weaker than one seen by several independent reporters.
- An expired indicator tells you nothing. Check the expiry date against today before you search an IP or user agent.
- Request paths and common user agents are weak on their own. Correlate them with the header or form field indicators before you call a hit meaningful.
- A process command line is only meaningful as a child of the web server or PHP process. On its own it matches ordinary administration.
- Legitimate software can send the same header or field. Report what you found and how confident the indicator is.

Ground rules:
- Work only from the information in this prompt. Do not infer a tier, a version, a compromise or an affected configuration that is not stated here.
- Where something is unknown, say it is unknown. Do not fill the gap with a guess.
- Do not write, request or run exploit code or proof-of-concept code. Indicators are paths, header names, hashes and rule references only.

Submit a sighting

Show the sighting prompt
Task: help me file a sighting for CVE-2026-109618 with the Exploitation Observatory.
Source: Exploitation Observatory entry CVE-2026-109618, entry updated 2026-10-23T19:10:00Z, prompt version 1.
If that timestamp is old, regenerate this prompt at https://exploitobservatory.com/entry.html before relying on it.

A sighting is one observation, written as one signed JSON file, that the Observatory's core reviewers grade against a published rubric.
The tier you claim is a hint, not a vote. The reviewer records the tier the rubric supports, which is often lower than the claim.

Current state of this entry, so you can tell whether my observation adds anything:
- Headline tier: poc-validated. Meaning: remote code execution reproduced on a named configuration; a lab result, not a victim.
- Accepted sightings: 19. First sighting 2026-10-17T00:00:00Z, latest 2026-10-23T16:00:00Z.
- Tier by deployment fingerprint:
  - mod_php/apache with session.upload_progress.enabled=1 (fp-6a0a73b77e19): poc-validated; 7 independent reporters; PoC result rce
  - mod_php/apache (fp-b3705636ac2e): attempts; 1 independent reporter; PoC result not-tested
  - php-fpm/nginx with session.upload_progress.enabled=1 (fp-c8a325e4462b): attempts; 4 independent reporters; PoC result crash
  - php-cgi/iis (fp-673e158ea062): scanning; 2 independent reporters; PoC result not-tested
- Not recorded: no confirmed compromise (tier 4) of a real system has been recorded for this entry, for any fingerprint.
- Read that precisely: a working exploit has been reproduced in a lab. That is not evidence that anyone has been breached.
- A negative result is a valid sighting. "The PoC does not achieve execution against this fingerprint" is wanted, and lowers no tier.

What each kind of evidence supports (the ceiling, not a promise):
- Honeypot or WAF log showing version probes, path enumeration or fingerprinting tied to the component: up to scanning.
- Captured exploit payload with no execution evidence, or an HTTP 500 with no child process: up to attempts.
- Public PoC exists but no reproduction recorded: up to attempts.
- A core maintainer, or two independent orgs, reproduce RCE against a recorded fingerprint: up to poc-validated, for that fingerprint only.
- Vendor says "exploited in the wild" without artifacts: up to attempts.
- Aggregate telemetry such as "we blocked 2M requests": up to attempts.
- IR artifacts from a real system (webshell, cron entry, outbound C2) attributed to the CVE by someone with access to that system: up to confirmed.
- Third-party report of a compromise with no first-hand access: up to attempts, with source_url.

Caps and requirements:
- Anonymous reports stop at attempts.
- poc-validated and confirmed need a named org, a reachable contact (reporter.contact_hash) and a fingerprint.
- confirmed also needs two core reviewers, and one of them contacts the reporter directly before acceptance.
- Blocked is not exploited. A public PoC is not validation. Counts never raise a tier.
- Five sightings from one org about the same window count once toward independence.

Fields of the sighting object (from schema/sighting.schema.json):
- id (required, string): Sighting id: SIGHT-, the CVE, then a four digit sequence. Matches the file name.
- cve (required, string): The CVE this observation is about.
- reporter (required, object): Who is reporting. A real org is what lets a sighting be graded above attempts.
-   org (required, string): Real entity. 'anonymous' is permitted and caps the accepted tier at 2.
-   handle (required, string): Stable handle for the reporter inside their org. Not a personal name.
-   contact_hash (optional, string): Hash of a contact address held privately by core. Required for tier 3 and 4.
-   role (optional, one of trusted-reporter, contributor, core): Set by core, not claimed by the reporter.
- observed_at (required, string): When the activity happened, never when it was reported.
- reported_at (required, string): Set by the system on submission.
- claimed_tier (required, one of none, scanning, attempts, poc-validated, confirmed): The tier you believe the evidence supports. A hint, not a vote. A reviewer grades against the rubric.
- evidence_type (required, one of honeypot, waf-log, ids-alert, ir-artifact, poc-reproduction, telemetry-aggregate, third-party-report): What kind of evidence this is. The rubric reads it to set the ceiling on the tier.
- fingerprint (optional, object): The deployment this observation applies to. Required for poc-validated and confirmed.
- volume (optional, object): How much activity was seen. Context only. Counts never raise a tier.
-   count (optional, integer): Number of events seen in the window.
-   unique_sources (optional, integer): Distinct sources behind the events.
-   window_hours (optional, number): Length of the observation window, in hours.
- indicators (optional, object): No raw payloads, no PoC code, no victim identifiers. Automated checks reject them.
-   paths (optional, array): Request path patterns seen.
-   headers (optional, array): Header names or patterns seen.
-   user_agents (optional, array): User agent strings seen.
-   payload_sha256 (optional, array): SHA-256 hashes of captured payloads. Hashes only, never the payload.
-   source_cidrs (optional, array): Aggregated ranges only. Expire 30 days after last_seen.
-   file_paths (optional, array): File paths dropped or touched on a compromised host.
-   process_cmdlines (optional, array): Process command lines observed, as indicators. Subject to the payload checks.
-   rule_refs (optional, array): Links to published detection rules.
- outcome (optional, one of unknown, failed, succeeded): Required when claimed_tier is attempts or higher.
- summary (required, string): What you saw, in a sentence or two. 20 to 500 characters. No payloads.
- source_url (optional, string or null): Public write-up, when the report is second-hand. Null when there is none.
- signature (required, string): Signature over the canonical JSON of every field except review and signature.
- schema_version is always "1.0". Leave review out; only core writes it.

Fingerprint fields (from schema/fingerprint.schema.json):
- runtime (required, one of php, node, python, ruby, java, other): The language runtime. Part of the group key. Pick other if none fits.
- version (optional, string): Exact (8.3.35), range (<8.2.35), or branch (8.1.x). Recorded in the group, does not change which group.
- sapi (required, one of mod_php, php-fpm, php-cgi, cli, embedded, n/a, unknown): How the runtime is served. Part of the group key. For PHP this often decides the tier, so be exact.
- server (optional, one of apache, nginx, litespeed, iis, caddy, other, unknown): The web server in front of the runtime. Part of the group key.
- os (optional, string): distro-version, e.g. debian-12, alpine-3.20, windows. Recorded in the group, does not change which group.
- config_flags (optional, array): Settings that change exposure, as name=value pairs. Part of the group key: a flag can be the vector, so two values of one flag are two groups. Sorted before the id is computed.
- app (optional, one of wordpress, drupal, joomla, magento, laravel, symfony, none, other, unknown): The application on top, when it matters to the exploit. Recorded in the group, does not change which group.

Rules for the values:
- observed_at is when the activity happened, not when I am writing it up. Ask me for the real time of the first event and use it.
- id is SIGHT-CVE-2026-109618-NNNN with a four digit sequence and matches the file name. Tell me to check data/entries/CVE-2026-109618/sightings/ for the next free number.
- Do not invent a signature, a contact hash or a time. Ask me. contact_hash is a SHA-256 of my contact address that I compute myself; do not ask for the address.
- If I do not have a signature yet, leave the field out and tell me validation will fail on it until I add one.

What to do:
1. Interview me, one short group of questions at a time: what I saw, where, when it started and ended, what evidence I hold (log, honeypot, IR artifact, reproduction), whether I saw it first-hand, the outcome, the deployment fingerprint, and who I am reporting as.
2. Work out the highest tier my evidence supports using the ceilings above. Tell me the tier and which ceiling applies. If I want to claim higher than the evidence supports, say so plainly and do not write the higher claim.
3. Write a single sighting JSON object that validates against the schema. Output the JSON and nothing else inside the code block, then list anything I still need to supply.
4. Tell me how to file it: add the file as data/entries/CVE-2026-109618/sightings/<id>.json in the Observatory repository, run npm run validate, and open a pull request. The contribution guide is at https://exploitobservatory.com/contribute.html.

Never include a payload:
- No exploit payloads, no proof-of-concept code or fragments, no victim identifiers, no raw source IPs outside an aggregated honeypot or WAF count, nothing above TLP:GREEN.
- Indicators are request path patterns, header names, SHA-256 hashes of captured payloads, aggregated ranges and references to published detection rules.
- If I offer you a payload or exploit code, refuse to use it and ask for its SHA-256 hash instead. Compute nothing from it yourself.

Ground rules:
- Work only from the information in this prompt. Do not infer a tier, a version, a compromise or an affected configuration that is not stated here.
- Where something is unknown, say it is unknown. Do not fill the gap with a guess.
- Do not write, request or run exploit code or proof-of-concept code. Indicators are paths, header names, hashes and rule references only.

Plan remediation and mitigation

Show the remediation prompt
Task: write an internal remediation and mitigation plan for CVE-2026-109618 (PHP2Shell).
Source: Exploitation Observatory entry CVE-2026-109618, entry updated 2026-10-23T19:10:00Z, prompt version 1.
If that timestamp is old, regenerate this prompt at https://exploitobservatory.com/entry.html before relying on it.

You are helping an operator plan work on their own systems. You are not to run changes. Produce a plan I can review and assign.

Fixed versions. These come from the CNA record, not from the Observatory, which does not grade affected or fixed versions:
- Affected versions (CNA record): 5.4 through 8.5.11
- Fixed releases (CNA record): 8.5.12, 8.4.27, 8.3.36, 8.2.35
- CNA advisory: https://www.php.net/archive/2026.php#2026-10-21-5
- Recorded source disagreement: CERT-EU pre-release note said all PHP versions from 5 onward; CNA record lists only supported 8.2 to 8.5 branches as affected.
- Fixed release per branch:
  - branch 8.5: 8.5.12
  - branch 8.4: 8.4.27
  - branch 8.3: 8.3.36
  - branch 8.2: 8.2.35
- Any branch not listed above has no fixed release in the CNA record. If my branch is not one of 8.5, 8.4, 8.3, 8.2, say plainly that no fix exists for it. Do not imply one.

Evidence state, from Observatory grading:
- Headline tier: poc-validated. Meaning: remote code execution reproduced on a named configuration; a lab result, not a victim.
- Accepted sightings: 19. First sighting 2026-10-17T00:00:00Z, latest 2026-10-23T16:00:00Z.
- Tier by deployment fingerprint:
  - mod_php/apache with session.upload_progress.enabled=1 (fp-6a0a73b77e19): poc-validated; 7 independent reporters; PoC result rce
  - mod_php/apache (fp-b3705636ac2e): attempts; 1 independent reporter; PoC result not-tested
  - php-fpm/nginx with session.upload_progress.enabled=1 (fp-c8a325e4462b): attempts; 4 independent reporters; PoC result crash
  - php-cgi/iis (fp-673e158ea062): scanning; 2 independent reporters; PoC result not-tested
- Not recorded: no confirmed compromise (tier 4) of a real system has been recorded for this entry, for any fingerprint.
- Read that precisely: a working exploit has been reproduced in a lab. That is not evidence that anyone has been breached.
- The headline tier is the highest across all fingerprints. It may not describe my configuration. Ask me for my PHP version, how PHP is served, my web server and the relevant settings, then use the tier for my fingerprint. If no recorded fingerprint matches, say the record does not cover my setup.

Containment options from the can't-patch guidance (tree version 4). These are listed in no order of preference:
1. Take the site offline until you can migrate
   What it does: Removes exposure entirely.
   What it costs or breaks: Costs availability. Do not suggest it for anything that cannot go offline.
   Applies to: all fingerprints
2. Disable session.upload_progress.enabled and add a WAF rule for the observed exploit path, then migrate
   What it does: Blocks the observed exploit path.
   What it costs or breaks: PHP says this is not a complete mitigation. Disabling upload progress breaks upload progress bars.
   Applies to: mod_php and php-fpm; header and path indicators for the WAF rule are in the hunt prompt
3. Move from mod_php to php-fpm now, migrate branch afterwards
   What it does: The recorded php-fpm group is at tier attempts with PoC result crash. That lowers exposure and does not remove it.
   What it costs or breaks: Needs a web server configuration change and a test.
   Applies to: Apache hosts
4. Treat unexplained child processes of the web server as a possible breach
   What it does: Open an incident: process trees, webshell paths, outbound connections, and preserve evidence before any rebuild.
   What it costs or breaks: Applies when I already see odd child processes from the web server. This entry alone is not that evidence.
   Applies to: all fingerprints

What to do:
1. Ask me first: who controls the PHP runtime (me, my host, a vendor appliance), which branch and version, how PHP is served, whether the system is internet-facing, and how long it can be offline.
2. Write the plan with these sections: patch path where a fix exists for my branch; containment where it does not; who needs telling; how I verify the work afterwards; open questions.
3. For each containment option you include, state its trade-off in the words above and let me choose. Do not rank the options and do not recommend one. Telling someone to disable a setting without knowing their environment turns an exploitation problem into an outage.
4. For verification, include re-checking the installed version after patching, re-running the hunt prompt for this entry, and re-reading this entry for tier changes.
5. If I tell you my host or vendor controls the runtime, the plan is the exact question to put to them in writing, not a change I make.
6. Mark anything you add that is not in this prompt as "not from the Observatory".

Ground rules:
- Work only from the information in this prompt. Do not infer a tier, a version, a compromise or an affected configuration that is not stated here.
- Where something is unknown, say it is unknown. Do not fill the gap with a guess.
- Do not write, request or run exploit code or proof-of-concept code. Indicators are paths, header names, hashes and rule references only.

Grading log

Every tier change, who made it, and why. Nothing is deleted.
Grading log for CVE-2026-109618: every tier change with reviewer and rationale, newest first. This table is read-only.
WhenChangeFingerprintSightingsReviewerRationale
2026-10-23 19:10Z attempts → attempts php-fpm/nginx 0018 core/jlee PoC runs against php-fpm recorded as crash without RCE. Negative result logged; tier unchanged.
2026-10-21 09:12Z attempts (claimed confirmed) mod_php/apache 0006 core/asmith Claimed confirmed. Third-party report of hosting incidents with no IR artifacts shared. Graded attempts.
2026-10-20 22:40Z attempts → poc-validated mod_php/apache 0004, 0005 core/mruiz Two independent lab reproductions of RCE against mod_php on Apache, same day. Recused: core/asmith.
2026-10-20 18:02Z none → attempts unknown 0001 core/jlee Honeypot exploit attempt observed 10-17, reported 10-20. Payload seen, outcome unknown. Sets first_sighting four days before disclosure.

Sources

Reading list. Context only: these do not change the grade. Evidence goes in as a sighting.

Advisories

Postmortems

Research

Detection rules

Press