Page MenuHomePhabricator

Censor response bodies from Mercurial error messages
ClosedPublic

Authored by epriestley on Mar 26 2015, 4:50 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jun 23, 7:54 AM
Unknown Object (File)
Thu, Jun 4, 1:29 PM
Unknown Object (File)
Apr 2 2026, 3:35 AM
Unknown Object (File)
Apr 2 2026, 3:35 AM
Unknown Object (File)
Mar 15 2026, 1:52 PM
Unknown Object (File)
Mar 4 2026, 12:47 PM
Unknown Object (File)
Feb 27 2026, 6:18 PM
Unknown Object (File)
Jan 22 2026, 6:03 PM
Subscribers

Details

Summary

Ref T6755. In Git and Subversion, running git clone http://google.com/ or svn checkout http://google.com/ does not echo the response body.

In Mercurial, it does. Censor it from the output of hg pull and hg clone. This prevents an attacker from:

  • Creating a Mercurial remote repository with URI http://10.0.0.1/secrets/; and
  • reading the secrets out of the error message after the clone fails.
Test Plan

Set a Mercurial remote URI to a non-Mercurial repository, ran repository update, saw censored error message.

Diff Detail

Repository
rP Phabricator
Branch
dnsrebind3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 4989
Build 5007: [Placeholder Plan] Wait for 30 Seconds