`check_reserve_proof` sums RingCT ECDH amounts without checking the output commitment
密码学缺陷 / Missing Required Cryptographic Step / #3698862
该报告还没有中文解读。
原文摘录
摘自原文(7937 字符中的一小部分)
**Repository:** [`monero-project/monero`](https://github.com/monero-project/monero) — `src/wallet/wallet2.cpp`, `src/ringct/rctSigs.cpp`. Snapshot: `master @ 3ad4a5ee8` (`v0.18.1.0-3ad4a5ee8`).
原文中的代码
uint64_t amount = tx.vout[proof.index_in_tx].amount;
if (amount == 0)
{
crypto::secret_key shared_secret;
crypto::derivation_to_scalar(derivation, proof.index_in_tx, shared_secret);
rct::ecdhTuple ecdh_info = tx.rct_signatures.ecdhInfo[proof.index_in_tx];
rct::ecdhDecode(ecdh_info, …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Monero 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @bebensap · 版权归作者与 Monero 所有