[NUT-12] dleq.r blinding factor leaked to mint in swap/melt inputs (privacy)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
The issue names no file in this repository; the only pointer is an external audit report (§6 and §7), so first confirm the finding on current main by checking whether the dleq.r field is still serialized into proofs sent in swap and melt requests. Done means the outgoing proofs omit dleq.r and the mint nonce is derived deterministically via HMAC, with the existing verify paths still passing. Since the scope touches cryptographic protocol code, ask the maintainers before starting.
Written by the indexing model from the issue text.
Description
Migrated from Amperstrand/tollgate-module-basic-go#83 as part of the fork retirement — OpenTollGate/tollgate-module-basic-go is the single source of truth; the fork issue carries the original discussion and any lab evidence. Retirement plan: #758.]
NUT-12 DLEQ implementation leaks privacy: Proofs sent to the mint include dleq.r (the blinding factor) in swap/melt inputs. The spec's IMPORTANT note says r must never reach the mint.
While verify-on-receive and on-blind-signature are enforced (skipped when absent, which is spec-compliant), the leak of the blinding factor to the mint is a privacy violation. It doesn't directly cause fund loss, but allows the mint to potentially correlate proofs across swaps/melts.
Additional issue: Mint uses random nonce (spec SHOULD use deterministic HMAC).
Fix: Exclude dleq.r from proofs sent to mint; use deterministic HMAC for nonce.
Evidence: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6, line 102; §7
Section reference: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6
Migrated 2026-10-09. Applicability to current upstream main (4614ac2, post-rc1) was not re-verified during migration — confirming whether the finding still reproduces upstream is this issue's first task.
- Dominant language
- Go
- Stars
- 12
- Forks
- 14
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 237
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenTollGate/tollgate-module-basic-go
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OpenTollGate/tollgate-module-basic-go#1027 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
OpenTollGate/tollgate-module-basic-go#1026 ·
Maintainers usually reply within 1 day
-
Session event emits the customer's MAC address in the p tag — spec-invalid value on every payment responsePossibly taken @Amperstrand claimed this 5 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
OpenTollGate/tollgate-module-basic-go#949 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
OpenTollGate/tollgate-module-basic-go#833 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
OpenTollGate/tollgate-module-basic-go#813 ·
Maintainers usually reply within 1 day
All issues in OpenTollGate/tollgate-module-basic-go
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
aws/amazon-ecs-agent#5177 ·
Maintainers usually reply within 2 days
-
release-followup
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
apache/rocketmq-dashboard#7292 ·
Maintainers usually reply within 3 days
-
[Bug]: Deleting an MCP proxy leaves its API keys in the gateway's memory and in the policy engineOpenAspect/API Aspect/Other Severity/Minor Type/Bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
wso2/api-platform#3852 ·
Maintainers usually reply within 1 day