Edition of Tuesday 3 November 2026

Expat 2.10.0 released, fixes four vulnerabilities

Comments on “Expat 2.10.0 released, fixes four vulnerabilities”

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

Expat 2.10.0, the C XML parser library, fixes four security issues, according to maintainer Sebastian Pipping. Two are explained in detail: variants of billion and parameter laughs attacks that Hanno Böck's fuzzer found, now caught faster by pre-computing entity expansion, and an XML_ParserReset bug that could make later documents fail. The known unfixed count rose from 5 in August to 13, as 20 new findings outpaced 12 fixes. The CVE details come from the maintainer alone. Anyone bundling or pinning Expat should update.

Read the original at blog.hartwork.org. 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. 16 of 107 with a score of 0.69. The panel rated it highest on new information (0.91) and substantiated (0.83), lowest on audience breadth (0.59). Placed No. 16, No. 10 by score alone: the sixth Security story of the day (−0.060). The placement terms move stories; they are not part of the score.

AI judgeJudge 2claude-haiku-5-5
Security release of a widely used C XML parser with four CVEs, detailed technical explanations of billion laughs and allocation tracker fixes; strong practical relevance for builders shipping or bundling Expat.
AI judgeJudge 3gpt-5.6-luna
A substantive Expat security release with four vulnerability fixes, concrete exploit mechanisms, and implementation details. It is broadly relevant to software maintainers, though primarily a niche infrastructure/security update rather than a field-wide landmark.

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.69total under rubric v2.3

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • Significance0.61
  • Reader interest0.72
  • Audience breadth0.59
  • Practical relevance0.81
  • Substantiated0.83
  • Technical depth0.74
  • New information0.91
  • Counts against: Promotional0.06
  • Counts against: Overclaim0.09

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.660.550.620.610.10+0.24+0.146
Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on?0.620.700.840.720.22+0.26+0.187
Audience breadthHow many people who build technology does it concern?0.600.600.580.590.02+0.13+0.077
Practical relevanceHow useful is it to someone who builds software or tech products?0.850.800.780.810.07+0.22+0.178
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.790.800.900.830.11+0.05+0.041
Technical depthHow technically substantive is it?0.770.700.760.740.07+0.05+0.037
New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)?0.900.850.990.910.14+0.05+0.046
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.070.030.080.060.05−0.19−0.011
OverclaimDo the headline or conclusions claim more than the body supports?0.120.100.040.090.08−0.11−0.010
Sum of contributions+0.692
Claim-check penalty0.000
Total, as published0.692

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 #16 on Rubric, 3 Nov 2026
<a href="https://rubric.hrih.si/editions/2026-11-03/16/"><img src="https://rubric.hrih.si/badge/2026-11-03/16.svg" alt="Ranked #16 on Rubric, 3 Nov 2026" width="238" height="28"></a>

Claim check

Claim check: 2 matches source · 1 no source given · 5 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 checkVersion

    Expat 2.10.0 fixes four security issues, including CVE-2026-113351, CVE-2026-115506, CVE-2026-117610 and CVE-2026-118370.

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

    The article says

    “The four fixed security issues are”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/libexpat/libexpat/releases/tag/R_2_10_0

  2. Couldn’t checkNumber

    CVE-2026-115506 is a denial of service from variations of billion laughs and parameter laughs attacks.

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

    The article says

    “Denial of service from variations of billion laughs attacks and parameter laughs attacks”

    The source says

    No passage could be compared.

    Source cited by the article: nvd.nist.gov/vuln/detail/cve-2026-115506

  3. Couldn’t checkCausal conclusion

    Hanno Böck's lololol fuzzer found parameter combinations that took Expat too long to parse, because Expat detected the attack only after processing too much of the document.

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

    The article says

    “did indeed find combinations that took Expat too long to parse”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/hannob/lololol

  4. No source givenCausal conclusion

    Expat now detects and rejects the remaining forms of billion and parameter laughs attacks, and detects them faster, by pre-computing how much an entity would expand before expanding it.

    The article gives no link or citation for it.

    The article says

    “It does so by pre-computing how much an entity would expand, right before starting to actually go ahead and expand”

    The source says

    No source to compare with.

  5. Couldn’t checkCausal conclusion

    CVE-2026-113351 was caused by XML_ParserReset retaining the previous document's allocation tracker total, so the next document could be wrongly rejected; the allocation tracker was introduced in Expat 2.7.2.

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

    The article says

    “would correctly account for the memory that the parser still kept but could then reject the next document in alleged violation of memory use amplification limits”

    The source says

    No passage could be compared.

    Source cited by the article: nvd.nist.gov/vuln/detail/cve-2026-113351

  6. Matches sourceNumber

    In August the count of known unfixed security issues in Expat was 5, and after this release it is 13.

    The cited source says the same thing.

    The article says

    “back in August the count of known unfixed security issues in Expat was at 5, and now, after this release, it is at 13”

    The source says

    “Fixing the currently 5 known unfixed vulnerabilities”

    Source cited by the article: blog.hartwork.org/posts/libexpat-city-of-munich-open-source-sabbatical

  7. Couldn’t checkGeneralization

    More new findings are coming in (20) than could be fixed (12) in the same time.

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

    The article says

    “more new findings are coming in (20) than could be fixed (12”

    The source says

    No passage could be compared.

    Source cited by the article: github.com/libexpat/libexpat/issues/1160

  8. Matches sourceCausal conclusion

    The Open Source Sabbatical of the City of Munich funded the maintainer's work on libexpat for this release; the maintainer is in the fourth month of six.

    The cited source says the same thing.

    The article says

    “it was the Open Source Sabbatical of the City of Munich that allowed me to focus on libexpat for this release through its funding”

    The source says

    “I will be be paid to work on maintaining libexpat for up to 6 months thanks to the City of Munich under the umbrella of their Open Source Sabbatical program”

    Source cited by the article: blog.hartwork.org/posts/libexpat-city-of-munich-open-source-sabbatical

Also covered by

No other coverage was clustered with this story.

Elsewhere

Elsewhere: HN 1 pts, not on front page

Discussion on Hacker News

Recorded for context only, checked 3 Nov 2026, 05:47 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 “Expat 2.10.0 released, fixes four vulnerabilities”

More on Rubric

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

  1. Score 0.79

    Zlib 1.4