Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

API token principal not bound to the minting caller

Open
#7,598 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp

Research direction

Read the core token record write paths, especially the create chain and the owner's commit point for routed updates and data changes. Compare those paths with ApiTokenVerdict and Plugins ApiTokenService.Validate, which read the token principal. Done means new tokens can name only their writer (with the stated service token exception), existing principals cannot change, and a regression fails on current main.

Written by the indexing model from the issue text.

Description

bug sev:B

Summary

An API token's principal (ApiToken.UserId, which every token verdict authenticates as) is not bound to the caller that writes the token record. A write path that lets a person set or change that field lets the token authenticate as a principal the writer is not.

Scope

  • Core: the write seams for token records (create chain, and the owner's commit point for routed updates and data changes).
  • Both token verdicts read the principal from the record: core ApiTokenVerdict and the Plugins ApiTokenService.Validate. A write-side binding covers both.

Fix

A token's principal is bound to its writer: a new token may name only the writer (service tokens only from inside their own service token namespace), and an existing token's principal never changes. The binding is enforced at the create chain and at the commit point, and it recognises the credential by its content rather than by the node type. Fix PR to follow, with a regression that fails on current main.

Not established

Whether this was ever used is not known. Tokens already in stores were not audited for a principal that differs from their partition.

Dominant language
C#
Stars
12
Forks
5
Avg merge
5h 37m
Merged PRs (30d)
959

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Systemorph/MeshWeaver

All issues in Systemorph/MeshWeaver

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.