Skip to content

Programming language

PHP

Widely used open-source scripting language for server-side web development, powering sites and frameworks like WordPress, Laravel, and Symfony.

Known aliases

  • libphp
  • PHP 7.1.5
  • PHP 8
  • PHP 8.4
  • PHP 8.5
  • PHP 8.5.8
  • PHP 8.6
  • PHP 8.7
  • PHP 8.x
  • php-src

Current stories

securityOne report1 publisher

Claude Opus 4.7 crash fixes failed maintainers' tests a third of the time in Northwestern study

Northwestern tests of AI agents on 112 real bugs found a third of Claude Opus 4.7's crash-stopping patches failed maintainers' tests. Many patching benchmarks grade only that crash, so their scores overstate how many bugs are fixed.

Reality

Evidence58
Adoption
Not scored
Hype gap+5
Incentives
Not scored
Confidence55
buildOne report1 publisher

WordPress patches a no-login path-traversal bug that default server settings turn into RCE

WordPress shipped 7.1.2 on 22 September 2026 to patch CVE-2026-87902, an unauthenticated path-traversal flaw rated 9.2 that reaches every release since 4.7.0. CISA listed it as known-exploited three days later.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+20
Incentives
Not scored
Confidence50
buildOne report1 publisher

Every wiki that ran MediaWiki External Data before 3.7 needs a hunt for planted PHP shells

Automated exploit attempts hit MediaWiki's External Data extension within a day of the 25 September disclosure of CVE-2026-100382, a CVSS 10.0 flaw. Upgrading to 3.7 closes the entry point but leaves behind any PHP shell an attacker already wrote to disk.

Publishers:dev.to

Reality

Evidence50
Adoption30
Hype gap+10
Incentives
Not scored
Confidence45
buildOne report1 publisher

Exploit attempts for WordPress CVE-2026-87902 began the day 7.1.2 shipped

WordPress released 7.1.2 on 22 September 2026 to fix remote file inclusion flaw CVE-2026-87902, and the first exploit attempt was recorded the same day. The fix was back-ported to every maintained branch down to 4.7, so an exposed site has hours before scanners find it.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+20
Incentives
Not scored
Confidence40
buildOne report1 publisher

Laravel 13.34 lets queued jobs count OOM kills against their exception limit

Laravel 13.33 and 13.34 add opt-in guards for two of the three ways a queued job dies in Docker, worker timeouts and crashes. Neither touches Docker's stop grace period, so a slow model call still gets ten seconds by default after a deploy's SIGTERM.

Publishers:dev.to

Reality

Evidence55
Adoption
Not scored
Hype gap0
Incentives15
Confidence55
buildOne report1 publisher

Symfony 8 swaps generated DI proxies for PHP 8.4's native lazy objects

Symfony 8 creates its container services as PHP 8.4 native lazy objects, cutting boot time 15-25% for apps with 200+ services, according to a dev.to post. The gain comes from retiring generated proxy classes, so it depends on how much boot time those classes cost you.

Publishers:dev.to

Reality

Evidence30
Adoption
Not scored
Hype gap+35
Incentives
Not scored
Confidence35
securityConfirmed5 publishers

Two miniOrange SAML bugs under attack, and 30,000 paid installs were never told

Patchstack says attackers are chaining CVE-2026-61979 and CVE-2026-15981 to mint WordPress admin sessions. Only the free edition got an advisory; Standard needs 17.0.6.

Perspective Coverage

5 publishers
Builder
Builder 32%
Operator
Operator 56%
Investor
Investor 12%

Reality

Evidence70
Adoption30
Hype gap+15
Incentives
Not scored
Confidence68
buildOne report1 publisher

Haiku labels three of eight patched twins as reachable vulnerabilities

A Kaggle-challenge benchmark called ART scores models on whether they still flag a function after the fix is applied. On eight synthetic pairs, the difference between price tiers showed up only on the patched half.

Publishers:dev.to

Reality

Evidence47
Adoption12
Hype gap−5
Incentives58
Confidence44
buildOne report1 publisher

Adobe's extra year on Magento 2.4.6 runs mostly on an unsupported PHP

Magento Open Source stopped patching 2.4.6 on 11 August 2026, and about seven of the paid edition's twelve extra months fall after PHP 8.2 stops getting security fixes. The licence buys planning time.

Publishers:dev.to

Reality

Evidence64
Adoption44
Hype gap+6
Incentives70
Confidence58
buildOne report1 publisher

Click2Shell turns a 5.3-rated WordPress selector injection into PHP on the server

The WordPress Core bug alone scores 5.3. In a research proof of concept it installs an official catalog theme inside the administrator's browser, the Customizer preview loads that theme's functions.php, and a second bug runs the attacker's PHP.

Publishers:dev.to

Reality

Evidence52
Adoption25
Hype gap+15
Incentives55
Confidence50
buildOne report1 publisher

Laravel's bootstrap cost 316KB of the 0.66MB a warm hello-world request used

A dev.to benchmark on Laravel 13.31.0 and PHP 8.4.22 splits a request into framework bootstrap and loaded data. The much-quoted 20MB to 30MB per-request figure turns out to measure PHP with OPcache disabled.

Publishers:dev.to

Reality

Evidence58
Adoption12
Hype gap+15
Incentives22
Confidence46
buildOne report1 publisher

Bubblewrap hands the PDF binary one directory and no network by default

Escaping an uploaded filename keeps it from turning into a shell command, and it still leaves the parser reading everything the worker's account can read. A dev.to write-up draws the other boundary with Linux namespaces.

Publishers:dev.to

Reality

Evidence40
Adoption
Not scored
Hype gap−10
Incentives55
Confidence45
buildOne report1 publisher

Laravel 13's ten-minute upgrade hinges on what your tests still call VerifyCsrfToken

Laravel calls the breaking changes in 13 minimal, and the upgrade guide still flags about nineteen of them. Two land in defaults that every application touches: the request forgery middleware and the cache config.

Publishers:dev.to

Reality

Evidence48
Adoption
Not scored
Hype gap+10
Incentives55
Confidence45
buildOne report1 publisher

Renaming ServiceProvider to ServiceLauncher costs five edits per class in Doppar 4

Doppar 4 drops the Laravel-shaped names that 3.x applications were written against, and it will only run on PHP 8.5. The release post tells 3.x users to move the runtime before touching application code.

Publishers:dev.to

Reality

Evidence48
Adoption10
Hype gap+15
Incentives80
Confidence55
buildOne report1 publisher

One shared hosting login puts ten client sites in a single failure domain

A hosting guide from EniyiSunucum sets one account per client as the minimum boundary for an agency portfolio. The part of it worth keeping is the queueing account of why a neighbour's traffic spike hurts.

Publishers:dev.to

Reality

Evidence30
Adoption
Not scored
Hype gap+8
Incentives60
Confidence55
buildOne report1 publisher

Rerunning the generator in --check mode makes a stale snapshot fail the build

Anton Brilliantov keeps one .proto per interface in a shared contract repository and generates the HTTP specification from it. The same discipline already governs his environment variable catalog and his metrics snapshot.

Publishers:dev.to

Reality

Evidence34
Adoption12
Hype gap+8
Incentives20
Confidence45
buildOne report1 publisher

Passing $header['alg'] to the verifier lets the token choose which algorithm checks it

A JWT signature only proves integrity when the verifier and the application already agree on algorithm, key and validity window, and in the vulnerable pattern all three are settled by input the attacker sent.

Publishers:dev.to

Reality

Evidence52
Adoption
Not scored
Hype gap+12
Incentives18
Confidence56
buildOne report1 publisher

Socket finds PolinRider in four dev-* versions of a 700,000-download Packagist package

Socket reports no malicious stable release. The exposure sits with teams that resolve dev-* constraints directly, and with anyone who clones the repository and opens it in a VS Code-compatible IDE.

Publishers:socket.dev

Reality

Evidence58
Adoption25
Hype gap+12
Incentives75
Confidence45
buildOne report1 publisher

Previewing an unapproved comment triggers do_blocks() on the entire event page

Wordfence's Argus team found two CVSS-9.8 chains in The Events Calendar. An anonymous comment plus a moderation-hash preview URL reaches OS command execution, and version 6.17.4 closes only one of them.

Publishers:dev.to

Reality

Evidence68
Adoption
Not scored
Hype gap+5
Incentives55
Confidence62
buildOne report1 publisher

A per-API config block absorbs the pagination differences behind one paginate() call

The author of laravel-rest pointed one Eloquent-style client at 62 public APIs across 470 unmocked scenarios and published the wire logs for three of them. Where the rows and the page total live is declared per API.

Publishers:dev.to

Reality

Evidence68
Adoption
Not scored
Hype gap+16
Incentives74
Confidence58

Earlier coverage

  1. Writing the task text before the research encodes a guess

    Build · September 11, 2026 · One report1 publisher

  2. GOautodial runs an agent's logout parameter through /bin/sh

    Build · September 2, 2026 · One report1 publisher

  3. Once the question needs a cube, you own the parser

    Build · August 20, 2026 · One report1 publisher