Vibe Security Radar
Back to Vulnerabilities

CVE-2026-33890

franklioxygen/mytube
Mar 24, 2026CWE-284
TypeScript
Verified by gpt-5.4-high
Severity
HIGH8.9
Verdict
CONFIRMED
0.95 confidence
AI Tool
Claude CodeClaude Code
Language
TypeScript

MyTube has an Unauthenticated Admin Privilege Escalation via Passkey Registration

How AI Introduced This

AI-authored code contributed via b7bf9b7960958c6c51f85fe50a2fc041a086c466, which rewrote both authorization middlewares and explicitly kept passkey registration on the unauthenticated public-path allowlists. The original flaw began in earlier human-authored commits, but the AI co-authored refactor reimplemented the vulnerable authorization exemption that the fix later removed.

Attribution Chain
Advisory
OSV
Fix Commit
d6c1275— franklioxygen/MyTube
git blame
backend/src/middleware/roleBasedAuthMiddleware.ts, backend/src/middleware/roleBasedSettingsMiddleware.ts
Bug-Introducing Commit
Bug-Introducing Commits(1)

fix: Prevent authorization bypass via query parameter injection (GHSA-63cf-662x-crp2)

Peifan LiMar 23, 2026backend/src/middleware/roleBasedAuthMiddleware.ts, backend/src/middleware/roleBasedSettingsMiddleware.tsBlame: 90%

Deep Verification

by GPT-5.4
CONFIRMED0.95
119 tool calls
95%

Blame on the pre-fix files points the removed lines in both roleBasedAuthMiddleware.ts and roleBasedSettingsMiddleware.ts to this commit: it introduced PUBLIC_PREFIX_PATHS entries for "/settings/passkeys/register" and "/passkeys/register". Those exact entries are what d6c1275 removes, and matchesPathOrSubpath made them cover both /register and /register/verify. Although the same flawed public-registration policy already existed earlier, this AI co-authored commit rewrote the middleware logic and reimplemented the vulnerable allowlist in newly authored code, so it is a confirmed reimplementation BIC rather than a mere move/rename.

AI Signals(1)
Commitb7bf9b7
Claude CodeCo-author trailerCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>95%
Fix Commits(2)
References(3)