tRPC Unsafe Context Usage
Description
Using unvalidated headers, cookies, or query params in context creation allows attackers to bypass authentication and impersonate users.
What Shoulder detects
How to fix
Verify JWT signatures or use session libraries instead of trusting raw headers.
```typescript
import { getServerSession } from 'next-auth';
export async function createContext({ req, res }: CreateNextContextOptions) {
const session = await getServerSession(req, res, authOptions);
return {
user: session?.user ?? null,
db
};
}
```
Learn more: https://shoulder.dev/learn/typescript/cwe-20/context-injection
Applies to
Languages
Frameworks
trpc
References
Scan for this issue
Detect with Shoulder CLI
npx @shoulderdev/cli trust --rule=trpc-context-injection .
Real-world examples
Known CVEs in the Improper Input Validation vulnerability class that this rule helps detect.