git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/4] gitweb: quote base url more consistently

From
Jeff King <peff@peff.net>
Date
Nov 15, 2019, 09:05 UTC
Message-ID
<20191115090545.GA30971@sigill.intra.peff.net>

This series fixes an XSS issue reported to the git-security list where gitweb doesn't always quote its base url, meaning a specially-crafted URL can inject HTML into the finished page. Given the relatively low severity of the problem and my lack of familiarity with gitweb, it makes sense to me to just discuss this one in the open.

Credit for the finding the problem (and some patient explanations) goes to NAKAYAMA DAISUKE <nakyamad@icloud.com>.

  [1/4]: t9502: pass along all arguments in xss helper
  [2/4]: t/gitweb-lib.sh: drop confusing quotes
  [3/4]: t/gitweb-lib.sh: set $REQUEST_URI
  [4/4]: gitweb: escape URLs generated by href()
 gitweb/gitweb.perl                        | 31 +++++++++++++----------
 t/gitweb-lib.sh                           |  7 ++---
 t/t9502-gitweb-standalone-parse-output.sh |  7 ++---
 3 files changed, 25 insertions(+), 20 deletions(-)
-Peff
Next: Jeff King
Message 1 of 6 in “gitweb: quote base url more consistently”
  1. 0/4 gitweb: quote base url more consistentlyJeff King, Nov 15, 2019
  2. 1/4 t9502: pass along all arguments in xss helperJeff King, Nov 15, 2019
  3. 2/4 t/gitweb-lib.sh: drop confusing quotesJeff King, Nov 15, 2019
  4. 3/4 t/gitweb-lib.sh: set $REQUEST_URIJeff King, Nov 15, 2019
  5. 4/4 gitweb: escape URLs generated by href()Jeff King, Nov 15, 2019
  6. Junio C HamanoNov 18, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.