{"id":"CVE-2017-17458","aliases":["DEBIAN-CVE-2017-17458","DLA-1224-1","DLA-1414-1","DLA-1414-2","DLA-2293-1","EUVD-2017-0072","GHSA-6v56-cpg6-3rpx","MGASA-2018-0041","PYSEC-2017-90","SUSE-SU-2018:0127-1","SUSE-SU-2018:0129-1","UBUNTU-CVE-2017-17458","openSUSE-SU-2024:10586-1"],"status":"published","title":"Mercurial vulnerable to arbitrary code injection","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.06331,"percentile":0.93676,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2017-12-07T18:00:00Z","modified":"2026-09-01T20:03:45Z","fixes":[{"ecosystem":"PyPI","package":"mercurial","fixed_in":["4.4.1"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"mercurial","fixed_in":["4.4.1-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"mercurial","fixed_in":["4.4.1-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"mercurial","fixed_in":["4.4.1-1"],"sources":["osv"]},{"ecosystem":"Debian:7","package":"mercurial","fixed_in":["2.2.2-4+deb7u6"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"mercurial","fixed_in":["3.1.2-2+deb8u6"],"sources":["osv"]},{"ecosystem":"Mageia:5","package":"mercurial","fixed_in":["3.1.1-5.6.mga5"],"sources":["osv"]},{"ecosystem":"Mageia:6","package":"mercurial","fixed_in":["4.1.3-1.2.mga6"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Software Development Kit 11 SP4","package":"mercurial","fixed_in":["2.3.2-0.18.6.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP2","package":"mercurial","fixed_in":["2.8.2-15.6.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP3","package":"mercurial","fixed_in":["2.8.2-15.6.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:14.04:LTS","package":"mercurial","fixed_in":["2.8.2-1ubuntu1.4"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"mercurial","fixed_in":["3.7.3-1ubuntu1.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1-1"}]}]},{"source":"osv","ecosystem":"Debian:7","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.2-4+deb7u6"}]}],"versions":["2.2.2-3","2.2.2-4","2.2.2-4+deb7u1","2.2.2-4+deb7u2","2.2.2-4+deb7u3","2.2.2-4+deb7u4","2.2.2-4+deb7u5"]},{"source":"osv","ecosystem":"Debian:8","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.2-2+deb8u5"}]}],"versions":["3.1.2-2","3.1.2-2+deb8u1","3.1.2-2+deb8u2","3.1.2-2+deb8u3","3.1.2-2+deb8u4"],"bundled":6},{"source":"osv","ecosystem":"Debian:8","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.2-2+deb8u6"}]}],"versions":["3.1.2-2","3.1.2-2+deb8u1","3.1.2-2+deb8u2","3.1.2-2+deb8u3","3.1.2-2+deb8u4","3.1.2-2+deb8u5"]},{"source":"osv","ecosystem":"Debian:9","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0-1+deb9u2"}]}],"versions":["4.0-1","4.0-1+deb9u1"],"bundled":6},{"source":"osv","ecosystem":"PyPI","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1"}]}],"versions":["0.8.1","0.9","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","1.0","1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.2","1.2.1","1.3","1.3.1","1.4","1.4.1","1.4.2","1.4.3","1.5","1.5.1","1.5.2","1.5.3","1.5.4","1.6","1.6.1","1.6.2","1.6.3","1.6.4","1.7","1.7.1","1.7.2","1.7.3","1.7.5","1.8","1.8.1","1.8.2","1.8.3","1.8.4","1.9","1.9.1","1.9.2","1.9.3","2.0","2.0.1","2.0.2","2.1","2.1.1","2.1.2","2.2","2.2.2","2.3","2.4.1","2.5","2.5.1","2.5.2","2.6","2.6.1","2.6.2","2.6.3","2.7.0","2.7.1","2.7.2","2.8","2.8.1","2.8.2","2.9","2.9.1","3.0","3.0.1","3.1","3.1.1","3.1.2","3.2","3.2.1","3.2.2","3.2.3","3.2.4","3.3","3.3-rc","3.3.1","3.3.2","3.3.3","3.4","3.4-rc","3.4.1","3.4.2","3.5","3.5-rc","3.5.1","3.5.2","3.6","3.6-rc","3.6.1","3.6.2","3.6.3","3.7","3.7-rc","3.7.1","3.7.2","3.7.3","3.8","3.8-rc","3.8.1","3.8.2","3.8.3","3.8.4","3.9","3.9-rc","3.9.1","3.9.2","4.0","4.0-rc","4.0.1","4.0.2","4.1","4.1-rc","4.1.1","4.1.2","4.1.3","4.2","4.2-rc","4.2.1","4.2.2","4.2.3","4.3","4.3-rc","4.3.1","4.3.2","4.3.3","4.3rc0","4.4","4.4-rc","4.4rc0"]},{"source":"osv","ecosystem":"Mageia:5","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-5.6.mga5"}]}]},{"source":"osv","ecosystem":"Mageia:6","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.1.3-1.2.mga6"}]}]},{"source":"osv","ecosystem":"PyPI","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.4.1"}]}],"versions":["0.8.1","0.9","0.9.1","0.9.2","0.9.3","0.9.4","0.9.5","1.0","1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.2","1.2.1","1.3","1.3.1","1.4","1.4.1","1.4.2","1.4.3","1.5","1.5.1","1.5.2","1.5.3","1.5.4","1.6","1.6.1","1.6.2","1.6.3","1.6.4","1.7","1.7.1","1.7.2","1.7.3","1.7.5","1.8","1.8.1","1.8.2","1.8.3","1.8.4","1.9","1.9.1","1.9.2","1.9.3","2.0","2.0.1","2.0.2","2.1","2.1.1","2.1.2","2.2","2.2.2","2.3","2.4.1","2.5","2.5.1","2.5.2","2.6","2.6.1","2.6.2","2.6.3","2.7.0","2.7.1","2.7.2","2.8","2.8.1","2.8.2","2.9","2.9.1","3.0","3.0.1","3.1","3.1.1","3.1.2","3.2","3.2.1","3.2.2","3.2.3","3.2.4","3.3","3.3-rc","3.3.1","3.3.2","3.3.3","3.4","3.4-rc","3.4.1","3.4.2","3.5","3.5-rc","3.5.1","3.5.2","3.6","3.6-rc","3.6.1","3.6.2","3.6.3","3.7","3.7-rc","3.7.1","3.7.2","3.7.3","3.8","3.8-rc","3.8.1","3.8.2","3.8.3","3.8.4","3.9","3.9-rc","3.9.1","3.9.2","4.0","4.0-rc","4.0.1","4.0.2","4.1","4.1-rc","4.1.1","4.1.2","4.1.3","4.2","4.2-rc","4.2.1","4.2.2","4.2.3","4.3","4.3-rc","4.3.1","4.3.2","4.3.3","4.3rc0","4.4","4.4-rc","4.4rc0"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 11 SP4","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.2-0.18.6.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP2","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.8.2-15.6.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Software Development Kit 12 SP3","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.8.2-15.6.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.8.2-1ubuntu1.4"}]}],"versions":["2.6.3-1","2.7.2-1","2.8.1-2","2.8.2-1ubuntu1","2.8.2-1ubuntu1.3"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.7.3-1ubuntu1.1"}]}],"versions":["3.4-1ubuntu2","3.6.2-1ubuntu2","3.7.3-1ubuntu1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"mercurial","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.9.1-2.1"}]}],"bundled":9}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"mercurial","product":"mercurial"}],"references":[{"url":"https://lists.debian.org/debian-lts-announce/2017/12/msg00027.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.4.1_.282017-11-07.29","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","advisory","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/07/msg00041.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/07/msg00005.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-November/107333.html","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","advisory","web","report"]},{"url":"http://www.securityfocus.com/bid/102926","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","advisory","web"]},{"url":"https://bz.mercurial-scm.org/show_bug.cgi?id=5730","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://confluence.atlassian.com/sourcetreekb/sourcetree-security-advisory-2018-01-24-942834324.html","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2020/07/msg00032.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-17458","tags":["advisory"]},{"url":"https://web.archive.org/web/20200227132808/http://www.securityfocus.com/bid/102926","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/mercurial/PYSEC-2017-90.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-6v56-cpg6-3rpx","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2017-17458","tags":["advisory"]},{"url":"https://github.com/dscho/hg","tags":["package"]},{"url":"https://advisories.mageia.org/MGASA-2018-0041.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=22171","tags":["report"]},{"url":"https://lists.opensuse.org/opensuse-updates/2017-12/msg00071.html","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2018/suse-su-20180127-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1071715","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2017-17458","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2018/suse-su-20180129-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2017-17458","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2017-17458","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2008-2942","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-1000115","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2017-1000116","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-1000132","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-13346","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-13348","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-17983","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2019-3902","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2017-17458","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:00:00Z","modified":"2024-08-05T20:51:31.432Z","updated_at":"2026-11-02T14:33:18.248329Z"}],"euvd":[{"id":"EUVD-2017-0072","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:00:00Z","modified":"2024-08-05T20:51:31Z","updated_at":"2026-11-03T02:23:10.087185Z"}],"ghsa":[{"id":"GHSA-6v56-cpg6-3rpx","title":"Mercurial vulnerable to arbitrary code injection","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a `.git/hooks/post-update` script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2022-05-13T01:24:56Z","modified":"2024-09-25T17:46:17Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:38:06.29677Z"}],"nvd":[{"id":"CVE-2017-17458","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:29:00.203Z","modified":"2026-06-17T01:10:49.5Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":10,"vector":"AV:N/AC:L/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:04:10.156892Z"}],"osv":[{"id":"CVE-2017-17458","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:29:00.203Z","modified":"2026-04-16T06:15:53.163491736Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:04.853379Z"},{"id":"DEBIAN-CVE-2017-17458","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:29:00.203Z","modified":"2026-09-01T20:03:45.665691262Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:29.100767Z"},{"id":"GHSA-6v56-cpg6-3rpx","title":"Mercurial vulnerable to arbitrary code injection","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a `.git/hooks/post-update` script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2022-05-13T01:24:56Z","modified":"2024-09-25T18:03:31.790861Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:39.965326Z"},{"id":"UBUNTU-CVE-2017-17458","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:29:00Z","modified":"2025-09-08T16:44:32Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:14.563448Z"},{"id":"DLA-1224-1","title":"mercurial - security update","status":"published","published":"2017-12-28T00:00:00Z","modified":"2026-03-09T01:01:08.673492Z","updated_at":"2026-11-02T15:46:09.336894Z"},{"id":"DLA-1414-1","title":"mercurial - security update","status":"published","published":"2018-07-05T00:00:00Z","modified":"2026-03-09T01:00:49.655825Z","updated_at":"2026-11-02T15:46:09.336894Z"},{"id":"DLA-1414-2","title":"mercurial - regression update","status":"published","published":"2018-07-27T00:00:00Z","modified":"2026-03-09T01:00:47.495114Z","updated_at":"2026-11-02T15:46:09.336894Z"},{"id":"DLA-2293-1","title":"mercurial - security update","status":"published","published":"2020-07-27T00:00:00Z","modified":"2026-03-09T01:23:33.131746Z","updated_at":"2026-11-02T15:46:10.227108Z"},{"id":"MGASA-2018-0041","title":"Updated mercurial packages fix security vulnerability","description":"A specially malformed repository may have caused Git subrepositories to\nrun arbitrary code (CVE-2017-17458).\n","status":"published","published":"2018-01-03T14:22:14Z","modified":"2026-04-16T06:24:02.737786326Z","updated_at":"2026-11-02T15:49:40.442238Z"},{"id":"openSUSE-SU-2024:10586-1","title":"mercurial-5.9.1-2.1 on GA media","description":"These are all security issues fixed in the mercurial-5.9.1-2.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T02:48:28.818841Z","updated_at":"2026-11-02T16:58:34.487567Z"},{"id":"PYSEC-2017-90","description":"In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.","status":"published","published":"2017-12-07T18:29:00Z","modified":"2026-06-10T17:01:22.982575802Z","updated_at":"2026-11-02T15:52:51.645172Z"},{"id":"SUSE-SU-2018:0127-1","title":"Security update for mercurial","description":"This update for mercurial fixes the following issues:\n\n- CVE-2017-17458: In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically. (bsc#1071715):\n\n","status":"published","published":"2018-01-17T21:45:49Z","modified":"2026-02-04T02:54:10.025822Z","updated_at":"2026-11-02T15:53:44.594517Z"},{"id":"SUSE-SU-2018:0129-1","title":"Security update for mercurial","description":"This update for mercurial fixes the following issues:\n\n- CVE-2017-17458: In Mercurial before 4.4.1, it is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked into the repository. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically. (bsc#1071715):\n\n","status":"published","published":"2018-01-17T21:44:54Z","modified":"2026-02-04T02:30:18.958547Z","updated_at":"2026-11-02T15:53:44.594517Z"}]}}
