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?

Risks / R06 A compromise becomes a reportable breach / R06-1

R06-1: Personal data taken from a compromised PHP application

Because PHP applications hold accounts, orders and records, code execution on one gives the attacker its database, resulting in a personal data breach the controller must assess within 72 hours.

Rating 15 high · Likelihood 3 Possible · Impact 5 Severe · Kind Compliance · Acceptance not recorded

Basis. Follows from code execution; no named organisation has reported a breach through php2shell.

The path

Told innone yetActed on byData protection officerData protection offi…Board and executivesBoard and executivesStory site agentStory site agentGRC deskGRC deskCarried byData protection officer (owner)Data protection offi…People whose data is held in PHP applications (bearer)People whose data is…Managed PHP platforms (treater)Managed PHP platform…RiskR06-1 Personal data taken from a compromised PHP applicationR06-1 Personal data …Arises fromThe allocator's longjmp-based bailout on out-of-memoryThe allocator's long…VulnerabilityCVE-2026-109618CVE-2026-109618CVE-2026-109619CVE-2026-109619Fixed byA soft memory limit that no longer jumpsA soft memory limit …A hard limit that ends the process cleanlyA hard limit that en…An orderly unwind at the next safe pointAn orderly unwind at…Allocations that may fail instead of abortAllocations that may…Request globals reset so nothing survives a failureRequest globals rese…Bounded, deduplicated request parsingBounded, deduplicate…CodeZend/zend_alloc.cZend/zend_alloc.cZend/zend_execute_API.cZend/zend_execute_AP…Zend/zend_hash.cZend/zend_hash.cZend/zend_string.cZend/zend_string.cZend/zend_types.hZend/zend_types.hext/session/session.cext/session/session.…main/SAPI.cmain/SAPI.cmain/main.cmain/main.cmain/rfc1867.cmain/rfc1867.c
The risk sits in the middle. To its left, the stories that tell it, the roles and team members that act on it, and every stakeholder that carries part of it. To its right, what it arises from, the vulnerability behind that, the part of the fix that addresses it and the code the fix changed. Every line is an edge in the graph; every node is a link; hover for the full name. Vulnerabilities, stories and team members include those of the risk this one is part of; roles include those of the risks above and beneath it.

Who carries it

One risk, assigned to every stakeholder that carries part of it, with the part each plays.

StakeholderPartWhyIts register
Data protection officerownerRuns the breach assessment.2 risks
People whose data is held in PHP applicationsbearerTheir data.2 risks
Managed PHP platformstreaterProcessors under Article 28 for their customers.2 risks

What it arises from

The evidence

Treatments

TreatmentStatusWhere
Security of processing kept current, tested and evaluatedpartialIf you run PHP: the steps, in order, with their sources

The standards that govern it

FrameworkControlWhat it asksFamily
GDPRArt.5(1)(f)Integrity and confidentiality: personal data processed with appropriate securityLaw and regulation
GDPRArt.24Responsibility of the controller: measures appropriate to the riskLaw and regulation
GDPRArt.28Processors: the controller uses only processors that give sufficient guaranteesLaw and regulation
GDPRArt.32Security of processing, including a process for regularly testing and evaluating itLaw and regulation
GDPRArt.33Notifying a personal data breach to the supervisory authority within 72 hoursLaw and regulation
GDPRArt.34Communicating a high-risk personal data breach to the people affectedLaw and regulation

The stories that tell it

On this site: Briefing for a data protection officer: Was personal data exposed, does this start a GDPR breach assessment or a 72-hour notification, and what do I document? · Impact: taken offline versus compromised