Skip to content

Fix React Server Components CVE vulnerabilities#1

Draft
vercel[bot] wants to merge 1 commit into
mainfrom
vercel/react-server-components-cve-vu-67l1av
Draft

Fix React Server Components CVE vulnerabilities#1
vercel[bot] wants to merge 1 commit into
mainfrom
vercel/react-server-components-cve-vu-67l1av

Conversation

@vercel
Copy link
Copy Markdown

@vercel vercel Bot commented Jun 4, 2026

Important

This is an automatic PR generated by Vercel to help you with patching efforts. We can't guarantee it's comprehensive, and it may contain mistakes. Please review our guidance before merging these changes.

A critical remote code execution (RCE) vulnerability in React Server Components, impacting frameworks such as Next.js, was identified in the project gov-watch. The vulnerability enables unauthenticated RCE on the server via insecure deserialization in the React Flight protocol.

This issue is tracked under:

This automated pull request upgrades the affected React and Next.js packages to patched versions that fully remediate the issue.

More Info | security@vercel.com

Updated dependencies to fix Next.js and React CVE vulnerabilities.

The fix-react2shell-next tool automatically updated the following packages to their secure versions:
- next
- react-server-dom-webpack
- react-server-dom-parcel  
- react-server-dom-turbopack

All package.json files have been scanned and vulnerable versions have been patched to the correct fixed versions based on the official React advisory.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
@vercel
Copy link
Copy Markdown
Author

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gov-watch Error Error Jun 4, 2026 12:21pm

Dev-In-Crypt pushed a commit that referenced this pull request Jun 4, 2026
#1 Treasury display:
  - Extend LLAMA_SLUG_MAP +11 entries (stargate, redacted, radiant, starknet,
    chainflip, nftx, truefi, paladin, gearbox, aave-dao→aave, ens-security→ens)
  - landing-data now selects votesTracked from votes table (5th stats field)
  - hero-stats first cell + MetricsBand 2nd cell swap to 'Votes tracked' when
    treasuryUsd < $100M — no more $0.0B on the most visible spot of the landing

#2 Newsletter signup:
  - New NewsletterSection in Sections.tsx (eyebrow + grad-text headline +
    NewsletterForm + reassurance), wrapped in indigo gradient card with
    id='newsletter' anchor for deep-links
  - Inserted into (marketing)/page.tsx between PricingSection and FinalCTA
  - digest/[id] Subscribe button now points at /#newsletter so click scrolls
    straight to the form on landing

#3 Per-page titles (14 pages):
  - Static metadata exports: pricing, login, dashboard, daos, proposals,
    alerts, delegates, digest, settings
  - generateMetadata with tiny SELECT for dynamic routes: daos/[slug],
    proposals/[id] (short-title 50ch · DAO), delegates/[address] (ENS or
    short addr), digest/[id] (digest.title)
  - Each page now has a distinct browser tab title for bookmarks/SEO

#4 Open Graph image:
  - New src/app/opengraph-image.tsx via next/og ImageResponse, 1200x630
  - Same orbital aesthetic as apple-icon (gradient sphere, cyan/indigo rings,
    cyan tick) on left; right side: mono eyebrow 'daosentinel.xyz', display
    headline 'Mission control for on-chain democracy' (grad-text indigo→cyan
    on second line), one-line subhead
  - Next.js auto-emits og:image + twitter:image meta tags using metadataBase
  - Telegram/Discord/X link previews now render with our branded card
Dev-In-Crypt pushed a commit that referenced this pull request Jun 4, 2026
#1 DeFiLlama treasury parser:
  - TreasuryResponse now matches actual /treasury/{slug} shape:
    currentChainTvls + tvl[]. Sum across chains (preferred) or fall back
    to latest tvl snapshot. Previous code expected currentTreasuryUsd /
    tokensInUsd which the live API does not return.
  - Fix bad slug mappings: arbitrum 'arbitrum-foundation' (400) → 'arbitrum-dao';
    optimism 'optimism' (400) → 'optimism-collective'
  - Log HTTP status on failures so bad slugs are easy to spot in the cron run

#2 sync-votes pagination:
  - syncAllActiveVotes() now accepts {offset, limit}, returns {done}.
    Deterministic ORDER BY proposals.id LIMIT/OFFSET
  - runVoteSyncJob: closed-proposals scan + whale detector run only on
    the first page (offset=0) since those are global, not per-chunk
  - /api/cron/sync-votes: maxDuration=300, reads ?offset & ?limit,
    returns {ok, result, next} mirroring rebuild-delegates
  - Workflow: */5 schedule now fires sync-proposals + __votes_pages__
    (walks pages of 5 active proposals until done:true, max 12 pages)
  - Extracted walk_pages() bash helper, shared by votes + delegates paths

#3 Security headers in next.config.js: X-Frame-Options DENY,
   X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin,
   Permissions-Policy denying camera/microphone/geolocation/interest-cohort.
   CSP intentionally omitted (needs per-request nonces with Next.js)

#4 SEO crawlability:
  - src/app/robots.ts: allow /, disallow /api/ + /settings + /login,
    sitemap reference
  - src/app/sitemap.ts: 10 static pages + all DAOs + 500 most recent
    proposals + all digests. revalidate every hour. Graceful fallback to
    static-only if DB unreachable at render time

#5 /daos pagination: server-side ?page= with PAGE_SIZE=20.
   count(*) + paginated SELECT run in parallel. Pagination footer
   '← Prev · Page N of M · Next →' preserves search & sort params.
   272 KB → ~110 KB per page

#6 Documentation: comment in schema.ts above accounts table explaining
   it stays empty by design when only Resend magic-link auth is used
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants