Research collected from outside sources and what this site derives from them; every fact links to a saved copy of its source Research or story?

GRC · Risks · Stakeholders · Frameworks · The graph · From the network

The risk graph: stakeholders, risks, weaknesses, vulnerabilities, code

442 nodes and 914 edges, built from the register on every release and joined to the graphs already on this site: the claims and their sources (the story graph) and the fix and the code it changed (the code review graph). One graph, no copies: a claim, a source or a file is the same node here as there. The JSON is data/grc-graph.json.

stakeholdersrisks at the topweaknessesvulnerabilitiesThe PHP projectThe findersDistributors and packagersSoftware built on PHPHosting and cloud providersEdge, WAF and detection vendorsAgencies and CERTsOrganisations running PHPPeople who use PHP servicesThe pressR01 Remote code execution on internet-facing…R02 The coordinated disclosure broke before …R03 Exploitation outpaces patchingR04 Services lost to precautionary shutdownsR05 A web application firewall taken for a p…R06 A compromise becomes a reportable breachR07 Decisions made on numbers that measure s…R08 Frontier AI finds critical flaws faster …R09 Not knowing where PHP runsR10 This newsroom's own agents are steered, …The allocator's longjmp-based bailou…Request globals that survive a faile…Bailout as a class of bugPHP versions the project no longer f…One embargo shared by many partiesNot knowing where PHP runsA filter in front of an unpatched en…Exploitation that cannot yet be seenNumbers and ratings repeated without…Frontier models that find memory-saf…A small, thinly funded maintainer te…Agents that read the open web and ca…Third-party text inside the agents' …A status word chosen by the agent th…CVE-2026-109618CVE-2026-109619
A line from a stakeholder group to a risk means someone in the group carries part of it or of a risk beneath it; a line from a risk to a weakness means the risk, or one beneath it, arises from it; the weaknesses on the two CVEs reach the fix and the code on the code review graph. Each risk's own page draws its whole path.

The weaknesses

What the risks arise from. Two are the CVEs themselves; the rest are conditions of the ecosystem, the disclosure process and this newsroom, each joined to the risks it gives rise to and, where there is one, to the code.

The allocator's longjmp-based bailout on out-of-memory

An out-of-memory error unwinds by longjmp and can leave request memory in a state that cleanup later reads.

Gives rise to: R01 Remote code execution on internet-facing PHP servers, R01-1 Default Apache mod_php installations exploited before application code runs, R01-5 Popular applications compromised before authentication, R03 Exploitation outpaces patching, R06 A compromise becomes a reportable breach, R06-1 Personal data taken from a compromised PHP application, R08-1 A known bug left unexploited, then unfixed, for two years
Arises from: CVE-2026-109618: RCE via OOM corruption

Exploitation that cannot yet be seen

Honeypots and edge networks see attempts; nobody has shown a compromise, and KEV waits for one. Absence of evidence is read as safety.

Gives rise to: R03 Exploitation outpaces patching, R03-1 Attempts before disclosure, R03-3 Exploited in the wild without anyone being able to show it, R03-4 Detections built on a proof of concept with the wrong mechanism, R06-2 Essential and financial entities miss their reporting clocks, R06-3 Manufacturers under the Cyber Resilience Act owe a 24-hour report

What is in it

Kind of nodeHow many
control95
source71
claim62
stakeholder43
treatment41
risk34
page26
code16
weakness14
role10
briefing9
member8
remediation6
story5
vulnerability2

The verbs

Every edge is a verb read from the first node to the second; its inverse is read back. No edge says only that two things are related.

VerbInverseEdges
part_ofhas_part76
arises_fromgives_rise_to51
backed_byevidences91
fixed_byfixes6
realised_inrealises9
located_inlocation_of8
protected_byprotects41
governed_bygoverns139
concernsconcerned_in12
told_intells26
tracked_bytracks45
briefed_bybriefs9
citescited_by225
shown_onshows58
owned_byowns40
borne_bybears22
treated_bytreats24
raised_byraises11
informed_byinforms15
regulated_byregulates6