Edition of Thursday 5 November 2026

The PHP2Shell fix, two weeks on: what the PHP-src issue tracker shows

Comments on “The PHP2Shell fix, two weeks on: what the PHP-src issue tracker shows”

Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked

The PHP2Shell fix, shipped October 21 in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, makes memory_limit soft and adds a hard limit, by default 200% of it, that ends the process with exit 137. AI News Report found eight php-src issues naming the fix commit, four of them behavior regressions. In its test, a sprintf call that once gave a fatal error now exits 137; four fix PRs for that case were open. Several figures, including the commit size and the crash-queue statistics, could not be independently checked.

Read the original at theainewsreport.com. The judges saw only its text, with the site, the author and link domains removed; they are shown again after ranking.

Why it ranked

No. 4 of 139 with a score of 0.74. The panel rated it highest on technical depth (0.89) and substantiated (0.88), lowest on audience breadth (0.63).

AI judgeJudge 2claude-haiku-5-5
Detailed, reproduced analysis of a PHP security fix and its regressions, with concrete commands and sources; strong practical value for PHP builders and security teams, somewhat niche in scope.
AI judgeJudge 3gpt-5.6-luna
A well-supported technical follow-up with reproducible commands, source inspection, regression testing, and concrete operational implications. It adds meaningful post-fix evidence beyond the prior PHP2Shell coverage, though its scope is mainly PHP and security practitioners.

Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.

Score

0.74total under rubric v2.3

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • Significance0.66
  • Reader interest0.84
  • Audience breadth0.63
  • Practical relevance0.80
  • Substantiated0.88
  • Technical depth0.89
  • New information0.86
  • Counts against: Promotional0.03
  • Counts against: Overclaim0.16

Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).

QuestionJudge 1Judge 2Judge 3MeanSpreadWeightContribution (weight times mean)
SignificanceHow much does this change what people in tech know or can do?0.650.620.720.660.10+0.24+0.159
Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on?0.760.850.900.840.14+0.26+0.218
Audience breadthHow many people who build technology does it concern?0.640.700.560.630.14+0.13+0.082
Practical relevanceHow useful is it to someone who builds software or tech products?0.830.800.780.800.05+0.22+0.177
SubstantiatedHow well is it backed? Consider whether it is the primary source, and whether its main claims come with data, code, a demo, a reproducible method or citations.0.910.850.880.880.06+0.05+0.044
Technical depthHow technically substantive is it?0.990.850.820.890.17+0.05+0.044
New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)?0.830.820.940.860.12+0.05+0.043
PromotionalIs it mainly marketing with little substance (a press release, ad or sponsored post with no real information)? A launch post that carries real news is not promotional.0.060.030.010.030.05−0.19−0.006
OverclaimDo the headline or conclusions claim more than the body supports?0.200.200.080.160.12−0.11−0.018
Sum of contributions+0.744
Claim-check penalty0.000
Total, as published0.744

Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.

The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.

Ranked #4 on Rubric, 5 Nov 2026
<a href="https://rubric.hrih.si/editions/2026-11-05/4/"><img src="https://rubric.hrih.si/badge/2026-11-05/4.svg" alt="Ranked #4 on Rubric, 5 Nov 2026" width="231" height="28"></a>

Claim check

Claim check: 2 matches source · 2 no source given · 4 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.

  1. Couldn’t checkNumber

    The PHP2Shell fix commit 31c0ea7d, "Avoid state corruption via bailout," adds 11,556 and removes 1,017 lines.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “The commit is 31c0ea7d, "Avoid state corruption via bailout," +11,556 and -1,017 lines”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/php/php-src/commit/31c0ea7d7ff1d1fccb6492e52dab544011628065

  2. Couldn’t checkVersion

    The fix makes memory_limit soft and adds a hard limit of 200% of memory_limit by default; crossing the hard limit ends the process with _exit(137).

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “makes memory_limit soft and adds a hard limit, 200% of memory_limit by default. Crossing the hard limit ends the process with _exit(137”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/php/php-src/commit/31c0ea7d7ff1d1fccb6492e52dab544011628065

  3. Matches sourceVersion

    The PHP2Shell fix shipped in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35.

    The cited source says the same thing.

    The article says

    “It shipped in 8.5.12, 8.4.27, 8.3.36 and 8.2.35”

    The source says

    “the PHP project released PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35. These releases fix two critical vulnerabilities”

    Source cited by the article: thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security

  4. Couldn’t checkCausal conclusion

    The PHP Foundation says the bug arose when a memory_limit fatal error jumped out via longjmp from C code midway through setting up internal state, leaving half-built state that later code treated as valid; both CVEs come from this pattern.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “the fatal error jumped out of C code that was halfway through setting up internal state”

    The source says

    No passage could be compared.

    Source cited by the article: thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security

  5. Couldn’t checkNumber

    The sprintf("%400000000s", "") script in GH-24492 gives a normal fatal error (exit 255) on PHP 8.5.0 and 8.3.30 but exits with code 137 on PHP 8.5.12.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “On the official php:8.5.12-cli Docker image (built Oct 28), the same script never prints "survived”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/php/php-src/issues/24492

  6. No source givenNumber

    All four fix PRs for GH-24492 are open and none is merged, and the 8.5.13 NEWS dated November 19 does not list it.

    The article gives no link or citation for it.

    The article says

    “As of tonight all four are open and none is merged”

    The source says

    No source to compare with.

  7. No source givenNumber

    Of 362 php-src issues containing AddressSanitizer output since January 2022, 313 are closed with a median time to close of 1.8 days.

    The article gives no link or citation for it.

    The article says

    “Median time to close: 1.8 days”

    The source says

    No source to compare with.

  8. Matches sourceCausal conclusion

    The PHP2Shell root cause was never in the public crash queue; a core developer found early signs, and work stalled until Calif reported working remote code execution on August 11, all in the private security process.

    The cited source says the same thing.

    The article says

    “Work on a fix stalled and restarted for months, until Calif reported a working remote code execution on August 11”

    The source says

    “On August 11th, researcher Ryan A at Calif reported an unconditional remote code execution with the same root cause as the OOM problem we had found in 2024”

    Source cited by the article: thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security

Also covered by

No other coverage was clustered with this story.

Elsewhere

Elsewhere: HN 2 pts, not on front page

Discussion on Hacker News

Recorded for context only, checked 5 Nov 2026, 05:46 UTC. It played no part in the ranking.

Panel for this edition

Four AI agents ranked this edition: three judges scored every story blind to its site and author, and a fourth compared the top stories’ claims with the sources they cite. Summaries are written by AI.

Model versions are pinned for every edition. How ranking works describes rubric v2.3.

Comments

Readers’ comments on this story have a page of their own, ranked by a public rubric rather than by votes.

Comments on “The PHP2Shell fix, two weeks on: what the PHP-src issue tracker shows”

More on Rubric

From the last 7 editions, chosen by shared topic, score and date.

  1. Score 0.79

    Zlib 1.4