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

tinyhttp / tinyhttp / 29658001347
99%

Build:
DEFAULT BRANCH: master
Ran 18 Jul 2026 07:33PM UTC
Jobs 2
Files 44
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

18 Jul 2026 07:32PM UTC coverage: 99.489%. Remained the same
29658001347

push

github

web-flow
fix(res): encode authority backslash to prevent open redirect (GHSA-8q4p-mhxr-fq83) (#514)

setLocationHeader split the Location value into an unencoded scheme+host
head and an encodeUrl'd tail, but used pos = match[0].length + 1. The +1
pushed the delimiter immediately after the host — a backslash in
'https://evil.com\@trusted.com' — into the *unencoded* head, so it was
emitted raw. Parsers that treat '\' like '/' resolve that authority to
'evil.com', so a redirect allowlist checking the string sees
'evil.com...' while the browser may navigate to the attacker host: an
open redirect. Express encodes the backslash to %5C; tinyhttp did not.

Drop the +1 so the split point is exactly the end of the authority. Any
delimiter the host regex stops on (\, /, ?, #) now falls into the
encoded portion, so an authority backslash becomes %5C while the real
host is still left verbatim for allowlist checks.

Regression: introduced in 2.2.11 (dd51147, 'harden redirect location
handling'); 2.2.10 and earlier encoded the whole URL and were not
affected.

Updates two tests that had pinned the vulnerable raw-backslash output and
adds coverage for scheme-relative URLs and the res.redirect() entry point.

1013 of 1022 branches covered (99.12%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

1322 of 1325 relevant lines covered (99.77%)

176.05 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29658001347.1 18 Jul 2026 07:33PM UTC 44
99.49
GitHub Action Run
2 29658001347.2 18 Jul 2026 07:33PM UTC 44
99.49
GitHub Action Run
Source Files on build 29658001347
  • Tree
  • List 44
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 4869a413 on github
  • Prev Build on master (#29657149946)
  • Next Build on master (#29658098663)
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