=== sb-service-role-client | components/admin/user-table.tsx | Supabase service_role in client (vibeappscanner CVE-2025-48757 patterns) 'use client'; import { createClient } from '@supabase/supabase-js'; import { useEffect, useState } from 'react'; const supabase = createClient(process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY!); <([]); useEffect(() => { supabase.from('profiles').select('*').then(({ data }) => setRows(data ?? [])); }, []); return ; } === sb-service-role-use-client | app/dashboard/billing/client.tsx | service role key read in a 'use client' module 'use client'; import { createClient } from '@supabase/supabase-js'; export const admin = createClient(process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.SUPABASE_SERVICE_ROLE_KEY!); < }) { const { id } = await params; const { data } = await supabaseAdmin.from('documents').select('*').eq('id', id).single(); < }) { const session = await auth(); if (!session) return new Response(null, { status: 401 }); const { id } = await params; const invoice = await prisma.invoice.findUnique({ where: { id } }); < { const user = await User.findByIdAndUpdate(req.params.id, req.body, { new: true }); < { req.session.userId = (await login(req.body)).id; res.redirect(req.query.returnTo as string); <(.*?)<\/title>/)?.[1]; return Response.json({ title }); } === ssrf-axios | src/routes/proxy.js | SSRF via axios.get(req.query.url) const axios = require('axios'); app.get('/api/image-proxy', async (req, res) => { const response = await axios.get(req.query.url, { responseType: 'arraybuffer' }); <) { return new SignJWT(payload).setProtectedHeader({ alg: 'HS256' }).setExpirationTime('7d').sign(secret); } export async function verify(token: string) { return jwtVerify(token, secret); } === jwt-python-noverify | app/core/security.py | PyJWT verify_signature False import jwt def current_user_id(token: str) -> str: payload = jwt.decode(token, options={"verify_signature": False}) <; } === role-header | app/api/admin/stats/route.ts | trusts x-user-role request header export async function GET(req: Request) { if (req.headers.get('x-user-role') !== 'admin') { < { if (req.query.admin === 'true') { < { res.setHeader('Access-Control-Allow-Origin', req.headers.origin || '*'); < cb(null, file.originalname), < res.json({ path: req.file.path })); === upload-sb-user-path | app/api/avatar/route.ts | storage upload path from client name with upsert import { createClient } from '@/lib/supabase/server'; export async function POST(req: Request) { const supabase = await createClient(); const form = await req.formData(); const file = form.get('file') as File; const { data } = await supabase.storage.from('avatars').upload(file.name, file, { upsert: true }); < { if (!isPublicRoute(req)) await auth.protect(); }); === cron-nosecret | app/api/cron/cleanup/route.ts | Vercel cron route without CRON_SECRET check import { prisma } from '@/lib/prisma'; export async function GET() { await prisma.session.deleteMany({ where: { expires: { lt: new Date() } } }); < { const user = await User.findOne({ email: req.body.email, password: req.body.password }); <; <; <{profile.name}; < { const settings = _.merge({}, defaultSettings, req.body); < { return ctx.prisma.user.delete({ where: { id } }); < { < re.test(i.name))); } === ssti-ejs | src/routes/preview.js | ejs.render of user template const ejs = require('ejs'); app.post('/preview', (req, res) => { res.send(ejs.render(req.body.template, { user: req.user })); < execSync(cmd).toString() }) } }).toDataStreamResponse(); < }) { const session = await auth(); if (!session) return new Response('Unauthorized', { status: 401 }); const { id } = await params; const invoice = await prisma.invoice.findUnique({ where: { id } }); < { const user = await User.findOne({ email: req.body.email, password: req.body.password }); < { const origin = req.headers.origin || ''; if (origin.endsWith('acme.com')) { < cb(null, allowed.test(origin || '')), credentials: true })); < { res.sendFile(path.join(__dirname, '../uploads', req.query.name)); < execSync(command).toString(), <