Urgent.News

What's breaking now, across thousands of outlets.

Tech

Both verifiers were honest, agreed with each other, and the signatures still failed

Forty signed records stopped verifying. Two independent verifiers said so. Neither of them was wrong, and neither of them could tell me why. The recipe both tools implement is sha256(public_key || header) . I checked it by hand against the code and against each other. Identical before the breakage and after. The inputs were byte-for-byte the same: a separate check confirmed that not one recorded…

Two independent verifiers confirmed that forty signed records failed to verify. Both verifiers agreed on the outcome, but neither could explain why. The verification process uses the sha256 algorithm on the public key and header fields. After checking the code and comparing the results, it was found that the key material had been altered.

A commit had replaced the public key and scheme fields in the key row, but the signatures were all created using the retired key material. The verifiers were using the currently declared key material, which caused them to report failures, as they should. However, the issue lies in the fact that the information about the retired material not being the current key material was not captured.

An append-only row was edited instead of being retired and superseded, making every artifact derived from it indistinguishable from a forgery. This mistake went unnoticed for a day, highlighting a failure in the verification process. The two verifiers, both using the same recipe and reading the same cell, did not catch the discrepancy because they were both blind to the changed field.

The repair involved adding a second key row under the same id, marked retired, and never used to sign anything new. This third value, "unfolded," indicates that no declared material fits the record. The solution was to add a field, "unfolded = n," to represent this third value and avoid reporting failures or passes. The verification process needs to read the fields it actually uses and provide a reason when it cannot verify anything.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

USPS can charge you $50 after the package ships. I built a free checker to catch it before you buy the label

A package gets accepted at the post office counter, ships without a problem, and weeks later the shipper's account takes an adjustment: a $50 hazardous materials noncompliance fee .

  • USPS can charge $50 for non-compliant hazardous material handling after shipping.
  • Free tool CanWeShip identifies potential issues before label purchase.
  • Tool compares key data points and provides side-by-side carrier requirements.

Cross-Chain Bridge Risk Assessment: Tether Gold

Cross-Chain Bridge Risk Assessment: Tether Gold Target Protocol : Tether Gold (TVL: $3078.3M) Cross‑Chain Bridge Risk Assessment – Tether Gold (XAU‑T) Prepared by: Senior DeFi Security Researcher…

  • $3.08 billion worth of XAU-T locked across Ethereum and Layer 2 solutions.
  • Hybrid bridge architecture with custodial lock-mint bridges and permissioned multi-sig vaults.
  • Critical attack vectors identified, suggesting high risk level of 8.3/10.

More from Saturday 12 September →