• marutosijp's avatar
    mercurial: reject malicious command argument (#27516) · 1aedd23f
    marutosijp authored
    We've got a security report from the Phabricator team, which basically says
    --config and --debugger arguments can be injected anywhere to lead to an
    arbitrary command execution.
    
    https://secure.phabricator.com/rPa7921a4448093d00defa8bd18f35b8c8f8bf3314
    
    This is a fundamental issue of the argument parsing rules in Mercurial, which
    allows extensions to populate their parsing rules and such extensions can be
    loaded by "--config extensions.<name>=". There's a chicken and egg problem.
    We're working on hardening the parsing rules, but which won't come in by
    default as it would be a behavior change.
    
    This patch adds a verification to reject malicious command arguments as a
    last ditch. The subsequent patches will fix the problem in more appropriate
    way.
    
    Contributed by Yuya Nishihara.
    
    git-svn-id: https://svn.redmine.org/redmine/trunk@17060 e93f8b46-1217-0410-a6f0-8f06a7374b81
    1aedd23f