Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 823
    • Issues 823
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 30
    • Merge requests 30
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Merge requests
  • !414

Disable ed25519-donna's batch verification.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed George Kadianakis requested to merge asn/tor:bug40078 into main Jul 30, 2021
  • Overview 1
  • Commits 1
  • Pipelines 1
  • Changes 2

Fixes bug 40078.

As reported by hdevalence our batch verification logic can cause an assert crash.

The assert happens because when the batch verification of ed25519-donna fails, the code in ed25519_checksig_batch() falls back to doing a single verification for each signature.

The crash occurs because batch verification failed, but then all signatures individually verified just fine.

That's because batch verification and single verification use a different equation which means that there are sigs that can pass single verification but fail batch verification.

Fixing this would require modding ed25519-donna which is not in scope for this ticket, and will be soon deprecated in favor of arti and ed25519-dalek, so my branch instead removes batch verification.

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: bug40078