• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mozilla-releng / balrog / #5720
90%
main: 90%

Build:
Build:
LAST BUILD BRANCH: bug2063240
DEFAULT BRANCH: main
Ran 02 Sep 2026 01:34PM UTC
Jobs 1
Files 61
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Sep 2026 01:20PM UTC coverage: 89.663% (-0.007%) from 89.67%
#5720

Pull #3874

circleci

jcristau
Bug 2063240 - Enforce XML attribute escaping by construction

Escaping was applied at each call site by hand, so the invariant "every
attribute value is escaped" was not enforced anywhere and a new emit site
could silently reintroduce injection.

Route all attribute serialisation through a single renderXMLAttributes
helper that escapes every value (and lower-cases booleans). Every emit
site (apprelease update lines + patches, DesupportBlob, gmp and
systemaddons addons/mirrors) now builds (name, value) pairs and calls it,
so raw name="%s" interpolation no longer exists in the blob code and a
value cannot reach a response without being escaped. Output is
byte-identical, as verified by the existing exact-XML assertions.

Add tests/blobs/test_xml_injection.py: an adversarial guard that renders
each blob type with injection payloads in its escapable fields and asserts
the output parses as well-formed XML, so a future emit site that bypasses
the helper is caught.
Pull Request #3874: Bug 2063240 - avoid xml injection

2185 of 2572 branches covered (84.95%)

Branch coverage included in aggregate %.

39 of 39 new or added lines in 4 files covered. (100.0%)

5769 of 6299 relevant lines covered (91.59%)

0.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #5720.1 02 Sep 2026 01:34PM UTC 61
89.66
Source Files on build #5720
  • Tree
  • List 61
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • CircleCI Build #5720
  • Pull Request #3874
  • PR Base - main (#)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc