contrib: Revert "verify-commits sha1 exceptions"
What changed, and why it matters
This commit removes a special exception list that let one specific old commit be verified using the older, weaker SHA-1 algorithm. The exception is no longer needed, so the code now treats all commits consistently under the stronger SHA-512 verification rules. By itself, this is a cleanup that slightly tightens the project's commit-verification script; it is not a fix for an active security bug in Bitcoin Core's network code or wallet.
No urgent action required. Operators who run verify-commits.py should ensure the script still passes on their verification targets after the exception is removed. Review whether any other SHA-1 exceptions remain necessary.
Security signals we found
Removal of a hard-coded SHA-1 exception in the commit-signature verification tooling
Tightening of supply-chain/integrity verification policy for repository commits
No evidence of a vulnerability in runtime Bitcoin Core networking, consensus, or wallet code
Evidence from the diff
The change reverts commit 8ac134be5e57680eb1c6ef596e5de085825e83ee. It deletes contrib/verify-commits/allow-sha1-commits (which contained aeaa67a9eac0decb89c60a67f9755ca10cbcc1d9) and removes the corresponding logic in verify-commits.py that set BITCOIN_VERIFY_COMMITS_ALLOW_SHA1=1 for that commit. The verification script will now rely solely on the existing no_sha1 flag and the global allow-sha1 setting, eliminating a per-commit SHA-1 bypass.
Changed components
contrib/verify-commits/verify-commits.pycontrib/verify-commits/allow-sha1-commitsInspect captured patch +0 / −5
diff --git a/contrib/verify-commits/allow-sha1-commits b/contrib/verify-commits/allow-sha1-commits
deleted file mode 100644
index 95650029..00000000
--- a/contrib/verify-commits/allow-sha1-commits
+++ /dev/null
@@ -1 +0,0 @@
-aeaa67a9eac0decb89c60a67f9755ca10cbcc1d9
diff --git a/contrib/verify-commits/verify-commits.py b/contrib/verify-commits/verify-commits.py
index a0eaf8cd..1af6b031 100755
--- a/contrib/verify-commits/verify-commits.py
+++ b/contrib/verify-commits/verify-commits.py
@@ -94,8 +94,6 @@ def main():
incorrect_sha512_allowed = f.read().splitlines()
with open(dirname + "/trusted-keys", "r") as f:
trusted_keys = f.read().splitlines()
- with open(dirname + "/allow-sha1-commits", "r") as f:
- sha1_allowed = f.read().splitlines()
# Set commit and variables
current_commit = args.commit
@@ -138,8 +136,6 @@ def main():
os.environ['BITCOIN_VERIFY_COMMITS_ALLOW_SHA1'] = "0" if no_sha1 else "1"
- if current_commit in sha1_allowed:
- os.environ['BITCOIN_VERIFY_COMMITS_ALLOW_SHA1'] = "1"
allow_revsig = current_commit in revsig_allowed
# Check that the commit (and parents) was signed with a trusted key
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.