26 comments

  • coffeecoders11 hours ago
    This vulnerability is basically the worst-case version of what people have been warning about since RSC&#x2F;server actions were introduced.<p>The server was deserializing untrusted input from the client directly into module+export name lookups, and then invoking whatever the client asked for (without verifying that metadata.name was an own property).<p><pre><code> return moduleExports[metadata.name] </code></pre> We can patch hasOwnProperty and tighten the deserializer, but there is deeper issue. React never really acknowledged that it was building an RPC layer. If you look at actual RPC frameworks like gPRC or even old school SOAP, they all start with schemas, explicit service definitions and a bunch of tooling to prevent boundary confusion. React went the opposite way: the API surface is whatever your bundler can see, and the endpoint is whatever the client asks for.<p>My guess is this won&#x27;t be the last time we see security fallout from that design choice. Not because React is sloppy, but because it’s trying to solve a problem category that traditionally requires explicitness, not magic.
    • tshaddox6 hours ago
      To me it just looks like unacceptable carelessness, not an indictment of the alleged &quot;lack of explicitness&quot; versus something like gRPC. Explicit schemas aren&#x27;t going to help you if you&#x27;re so careless that, right at the last moment, you allow untrusted user input to reference <i>anything whatsoever</i> in the server&#x27;s name space.
      • jacquesm5 hours ago
        But once that particular design decision is made it is a question of time before that happens. The one enables the other.<p>The fact that React embodies an RPC scheme in disguise is quite obvious if you look at the kind of functionality that is implemented, some of that simply can not be done any other way. But then you should own that decision and add all of the safeguards that such a mechanism requires, you can&#x27;t bolt those on after the fact.
      • delifue3 hours ago
        All mistakes can be blamed to &quot;carelessness&quot;. This doesn&#x27;t change the fact that some designs are more error-prone and more unsafe.
    • sophiebits10 hours ago
      The endpoint is not whatever the client asks for. It&#x27;s marked specifically as exposed to the user with &quot;use server&quot;. Of course the people who designed this recognize that this is designing an RPC system.<p>A similar bug could be introduced in the implementation of other RPC systems too. It&#x27;s not entirely specific to this design.<p>(I contribute to React but not really on RSC.)
      • cluckindan8 hours ago
        ”use server” is not required for this vulnerability to be exploitable.
      • brown9-28 hours ago
        so any package could declare some modules as “use server” and they’d be callable, whether the RSC server owner wanted them to or not? That seems less than ideal.
    • dizlexic9 hours ago
      They were warned. I don&#x27;t see how this can be characterized as anything but sloppy.
      • rvnx7 hours ago
        You can call anything, anytime, anywhere without restrictions or protection.<p>Imagine these dozens of people, working at Meta.<p>They sit at the table, they agree to call eval() and not think &quot;what could go wrong&quot;
        • jacquesm5 hours ago
          Eval has been known to be super dangerous since before the internet grew up and went mainstream. It is so dangerous that to deploy stuff containing it should come with a large flashing warning whenever you run it.
    • j4511 hours ago
      For the layperson, does this mean this approach and everything that doesn&#x27;t use it is not secure?<p>Building a private, out of date repo doesn&#x27;t seem great either.
      • coffeecoders11 hours ago
        Not quite. This isn’t saying React or Next.js are fundamentally insecure in general.<p>The problem is this specific &quot;call whatever server code the client asks&quot; pattern. Traditional APIs with defined endpoints don’t have that issue.
        • koakuma-chan8 hours ago
          You mean call whatever server action the client asks? I don&#x27;t think having this vulnerability was intentional.
          • j457 hours ago
            I don’t think I’ve heard of intentional vulnerabilities?
        • j458 hours ago
          I’m not asking if it’s fundamentally insecure.<p>Architecturally there appears to be an increasingly insecure attack surface appearing in JavaScript at large, based on the insecurities in mandatory dependencies.<p>If the foundation and dependencies of react has vulnerabilities, react will have security issues indirectly and directly.<p>This explicit issue seems to be a head scratcher. How could something so basic exist for so long?<p>Again I ask about react and next.js from their perspective or position of leadership in the JavaScript ecosystem. I don’t think this is a standard anyone wants.<p>Could there be code reviews created for LLMs to search for issues once discovered in code?
          • IgorPartola6 hours ago
            To be fair, the huge JavaScript attack surface has ALWAYS been there. JavaScript runs in a really dynamic environment and everything from XSS-onwards has been fundamentally due to why you can do with the environment.<p>If you remember “mashups” these were basically just using the fact that you can load any code from any remote server and run it alongside your code and code from other servers while sharing credentials between all of them. But hey it is very useful to let Stripe run their stripe.js on your domain. And AdSense. And Mixpanel. And while we are at it let’s let npm install 1000 packages for a single dependency project. It’s bad.
  • embedding-shape13 hours ago
    From Facebook&#x2F;Meta: <a href="https:&#x2F;&#x2F;www.facebook.com&#x2F;security&#x2F;advisories&#x2F;cve-2025-55182" rel="nofollow">https:&#x2F;&#x2F;www.facebook.com&#x2F;security&#x2F;advisories&#x2F;cve-2025-55182</a><p>&gt; A pre-authentication remote code execution vulnerability exists in React Server Components versions 19.0.0, 19.1.0, 19.1.1, and 19.2.0 including the following packages: react-server-dom-parcel, react-server-dom-turbopack, and react-server-dom-webpack. The vulnerable code unsafely deserializes payloads from HTTP requests to Server Function endpoints.<p>React&#x27;s own words: <a href="https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerability-in-react-server-components" rel="nofollow">https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerab...</a><p>&gt; React Server Functions allow a client to call a function on a server. React provides integration points and tools that frameworks and bundlers use to help React code run on both the client and the server. React translates requests on the client into HTTP requests which are forwarded to a server. On the server, React translates the HTTP request into a function call and returns the needed data to the client.<p>&gt; An unauthenticated attacker could craft a malicious HTTP request to any Server Function endpoint that, when deserialized by React, achieves remote code execution on the server. Further details of the vulnerability will be provided after the rollout of the fix is complete.
    • filearts12 hours ago
      Given that the fix appears to be to look for own properties, the attack was likely to reference prototype level module properties or the gift-that-keeps-giving the that is __proto__.
      • harrall6 hours ago
        I see this type of vulnerability all the time. Seen it in Java, Lua, JavaScript, Python and so on.<p>I think deserialization that relying on blacklists of properties is a dangerous game.<p>I think rolling your own object deserialization in a library that isn’t fully dedicated to deserialization is about as dangerous as writing your own encryption code.
      • mary-ext59 minutes ago
        not `__proto__` but likely `constructor`, if you access `({}).constructor` you&#x27;d get the Object constructor, then if you access `.constructor` on that you&#x27;d get the Function constructor<p>the one problem I haven&#x27;t understood is how it manages to perform a second call afterwards, as only being able to call Function constructor doesn&#x27;t really amount to much (still a serious problem though)
      • mirashii7 hours ago
        This comment from a dupe thread is worth considering: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46137352">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46137352</a>
    • morshu90016 hours ago
      &quot;React Server Functions allow a client to call a function on a server&quot;<p>Intentionally? That&#x27;s a scary feature
      • pas4 hours ago
        used to wire up form submission in a type-safe way, so that part makes sense at least<p>whatever monstrosity hides underneath these nice high-level TypeScript frameworks to make all of it happen in JS, usually that&#x27;s the worrying part
  • halflife10 hours ago
    Why does the react development team keeps investing their time on confusing features that only reinvent the wheel and cause more problems than solve?<p>What does server components do so much better than SSR? What minute performance gain is achieved more than client side rendering?<p>Why won’t they invest more on solving the developer experience that took a nosedive when hooks were introduced? They finally added a compiler, but instead of going the svelte route of handling the entire state, it only adds memoization?<p>If I can send a direct message to the react team it would be to abandon all their current plans, and work on allowing users to write native JS control flows in their component logic.<p>sorry for the rant.
    • danabramov10 hours ago
      Server Components is not really related to SSR.<p>I like to think of Server Components as componentized BFF (&quot;backend for frontend&quot;) layer. Each piece of UI has some associated &quot;API&quot; with it (whether REST endpoints, GraphQL, RPC, or what have you). Server Components let you express the dependency between the &quot;backend piece&quot; and the &quot;frontend piece&quot; as an import, instead of as a `fetch` (client calling server) or a &lt;script&gt; (server calling client). You can still have an API layer of course, but this gives you a syntactical way to express that there&#x27;s a piece of backend that prepares data for this piece of frontend.<p>This resolves tensions between evolving both sides: the each piece of backend always prepares the exact data the corresponding piece of frontend needs because they&#x27;re literally bound by a function call (or rather JSX). This also lets you load data as granularly as you want without blocking (very nice when you have a low-latency data layer).<p>Of course you can still have a traditional REST API if you want. But you can also have UI-specific server computation in the middle. There&#x27;s inherent tension between the data needed to display the UI (a view model) and the way the data is stored (database model); RSC gives you a place to put UI-specific logic that should execute on the backend but keeps composability benefits of components.
      • halflife9 hours ago
        Thanks for the comment Dan, I always appreciate you commenting and explaining in civility, and I’m sorry if I came a bit harsh.<p>I understand the logic, but there are several issues I can think of.<p>1 - as I said, SSR and API layers are good enough, so investing heavily in RSC when the hooks development experience is still so lacking seems weird to me. React always hailed itself as the “just JS framework”, but you can’t actually write regular JS in components since hooks have so many rules that bind the developer in a very specific way of writing code.<p>2 - as react was always celebrated as an unopinionated framework, RSC creates a deep coupling between 2 layers which were classically very far apart.<p>Here are a list of things that would rather have react provide:<p>- advanced form functionality that binds to model, and supports validation<p>- i18n, angular has the translations compiled into the application and fetching a massive json with translations is not needed<p>- signals, for proper reactive state<p>- better templating ability for control flows<p>- native animation library<p>All of these things are important so I wouldn’t have to learn each new project’s permutation of the libraries de jour.
    • paulhebert10 hours ago
      I wish React wasn’t the “default” framework.<p>I agree that the developer experience provided by the compiler model used in Svelte and React is much nicer to work with
      • odie553351 minutes ago
        React is good enough, so it&#x27;s very hard to come up with a strong case to use anything else.
      • halflife10 hours ago
        IMO angular provides such a great experience developing. They had minimal API changes in the last 10 years, and every project looks almost the same since it’s so opinionated.<p>And what they DO add? Only things that improve dev exp
        • azangru8 hours ago
          &gt; They had minimal API changes in the last 10 years<p>The 1 to 2 transition was one hell of a burn though; people are probably still smarting...
          • altbdoor5 hours ago
            It was one hell of a ride, but I would say the Angular team did one hell of a job too, supporting the glue code until v18 (not sure if the latest version still does).<p>Having both old and new Angular running in one project is super weird, but everything worked out in the end.
          • halflife8 hours ago
            Well, the official statement is that 1 and 2 are 2 different frameworks. That’s why they were later named to angular JS and angular, to avoid confusion.<p>The migration path between angular 1 and 2 is the same as react and angular, it’s just glue holding 2 frameworks together<p>And that change happened 10 years ago
            • azangru6 hours ago
              &gt; That’s why they were later named to angular JS and angular, to avoid confusion.<p>Angular.js and angular. That&#x27;s not confusing at all :-)
            • yearolinuxdsktp6 hours ago
              Easy migration was promised but never delivered. Angular 2 was still full of boilerplate. “Migrating” an AngularJS project to Angular 2 is as much work as porting it to React or anything else.<p>So yes, people got burnt (when we were told that there will be a migration path), and I will never rely on another Google-backed UI framework.
              • azangru6 hours ago
                &gt; I will never rely on another Google-backed UI framework.<p>Lit is pretty good :-) Though it was never positioned as a framework. And it recently was liberated from google.
          • bartread4 hours ago
            You aren’t wrong. I basically stopped using any OSS code backed by Google as a result.<p>I’d pushed Angular over React[0] for a massive project, and it worked well, but the migration to Angular 2 when it came created a huge amount of non-value-adding work.<p>Never again.<p>I don’t even really want to build anything against Gemini, despite how good it is, because I don’t trust Google not to do another rug pull.<p><i>[0] I’ve never enjoyed JSX&#x2F;TSX syntax, nor appreciated the mix of markup with code, but I’ve subsequently learned to live with it.</i>
        • symaxian4 hours ago
          I&#x27;ll second that Angular provides a great experience these days, but they have definitely had substantial API changes within the last few years: standalone components, swapping WebPack for esbuild, the new control-flow syntax, the new unit-test runner, etc...
        • morshu90013 hours ago
          I tried it once, and it was like, you have to edit 5 files to add 1 button.
          • bdangubic1 hour ago
            same 5 files in every project at every company on earth
    • apatheticonion4 hours ago
      I agree. Incoming hot take.<p>IMO, a big part of it is the lack of competition (in approach) exacerbated by the inability to provide alternatives due to technical&#x2F;syntactical limitations of JavaScript itself.<p>Vue, Svelte, Angular, Ripple - anything other than React-y JSX based frameworks require custom compilers, custom file-types and custom LSPs&#x2F;extensions to work with.<p>React&#x2F;JSX frameworks have preferential treatment with pre-processors essentially baking in a crude compile time macro for JSX transformations.<p>Rust solved this by having a macro system that facilitated language expansion without external pre-processors - e.g. Yew and Leptos implement Vue-like and React-like patterns, including support for JSX and HTML templating natively inside standard .rs files, with standard testing tools and standard LSP support;<p><a href="https:&#x2F;&#x2F;github.com&#x2F;leptos-rs&#x2F;leptos&#x2F;blob&#x2F;main&#x2F;examples&#x2F;counter&#x2F;src&#x2F;lib.rs#L15" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;leptos-rs&#x2F;leptos&#x2F;blob&#x2F;main&#x2F;examples&#x2F;count...</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;yewstack&#x2F;yew&#x2F;blob&#x2F;master&#x2F;examples&#x2F;counter&#x2F;src&#x2F;main.rs#L39" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;yewstack&#x2F;yew&#x2F;blob&#x2F;master&#x2F;examples&#x2F;counter...</a><p>So either the ECMAScript folks figure out a way to have standardized runtime &amp; compilable userland language extensions (e.g. macros) or WASM paves the way for languages better suited to the task to take over.<p>Neither of these cases are likely, however, so the web world is likely destined to remain unergonomic, overly complex and slow - at least for the next 5 - 10 years.
      • harrall25 minutes ago
        OK I got my own extremely hot take.<p>In my opinion, the core functionality of React (view rendering) is actually good and is why it cannot be unseated.<p>I remember looking for a DOM library:<p>- dojo: not for me<p>- prototype.js: not for me<p>- MooTools: not for me<p>- jQuery: something I liked finally<p>Well, guess what library won. After I adopted jQuery, I completely stopped looking for other DOM libraries.<p>But I still needed a template rendering library:<p>- Mustache.js: not for me<p>- Handlebars.js: not for me<p>- Embedded JavaScript Templates: not for me<p>- XML with XSLT: not for me<p>- AngularJS: really disliked it SOO much*<p>- Knockout.js: not for me<p>- Backbone.js with template engine: not for me and actually it was getting popular and I really wished it would just go away at the time**<p>- React: something I actually liked<p>You must remember that when React came out, you needed a JSX transpiler too, at a time when few people even used transpilers. This was a far bigger obstacle than these days IMO.<p>Which leads to my hot take: core React is just really good. I really like writing core React&#x2F;JSX code and I think most people do too. If someone wrote a better React, I don’t think the problem you mentioned would hamper adoption.<p>The problems come when you leave React’s core competency. Its state management has never been great. Although not a React project itself, I hated Redux (from just reading its docs). I think RSC at the current moment is a disaster — so many pain points.<p>I think that’s where we are going to see the next innovation. I don’t think anyone is going to unseat React or JSX itself for rendering templates. No one unseated jQuery for DOM manipulation — rather we just moved entirely away from DOM manipulation.<p>*I spent 30 minutes learning AngularJS and then decided “I’m never going to want to see this library again.” Lo and behold they abandoned their entire approach and rewrote Angular for v2 so I guess I was right.<p>**It went away and thankfully I avoided having to ever learn Backbone.js.
      • morshu90013 hours ago
        Does transpilation not cover this? That&#x27;s how they did JSX.
        • apatheticonion2 hours ago
          Transpilation of anything other than jsx requires a complex toolchain with layers of things like LSPs, compilers, IDE plugins, bundler plugins, etc.<p>Frameworks that go that route typically activate this toolchain by defining a dedicated file extension (.vue, .svelte).<p>This custom toolchain (LSP, IDE plugins) presents a lot of overhead to project maintainers and makes it difficult to actually create a viable alternative to the JSX based ecosystem.<p>For instance both Vue and Svelte took years to support TypeScript, and their integrations were brittle and often incompatible with test tooling.<p>Angular used decorators in a very similar way to what I am describing here. It&#x27;s a source code annotation in &quot;valid&quot; ecmascript that is compiled away by their custom compiler. Though decorators are now abandoned and Angular still requires a lot of custom tooling to work (e.g, try to build an Angular project with a custom rspack configuration).<p>JSX&#x2F;TSX has preferential treatment in this regard as it&#x27;s a macro that&#x27;s built into tsc - no other framework has this advantage.
    • TZubiri1 hour ago
      Because Facebook has a budget for R&amp;D, which works out to several salaries, and React is one of the biggest technical assets they have, so it&#x27;s someone full time job to develop features and new versions of React to increase the moat and stock value of Meta.<p>It works out because it keeps a workforce of React Developers on their feet, learning about the new features, rather than doing other stuff. It&#x27;s like SaSS for developers, only instead of paying a monthly subscription in cash, you have to pay a monthly subscription in man-hours.
    • morshu90016 hours ago
      I like the hooks :(
    • paularmstrong10 hours ago
      &gt; What does server components do so much better than SSR? What minute performance gain is achieved more than client side rendering?<p>RSC is their solution to not being able to figure out how to make SSR faster and an attempt to reduce client-side bloat (which also failed)
      • halflife10 hours ago
        Maybe if they compiled away their runtime like svelte and somewhat like angular, then running SSR would be faster.
        • cluckindan8 hours ago
          SSR with CSR is a worst-of-both-worlds approach. It leads to brittle ”isomorphic” behaviors when the same code needs to handle both SSR and CSR, inevitable client-side ”hydration” mismatches and various other issues. The same code needs to fetch eagerly but minimally, but also use and update the server-provided data on the client-side.<p>Ultimately that so-called ”isomorphism” causes more numerous and difficult problems than it solves.
          • halflife8 hours ago
            Sounds a little like hooks.<p>A purist approach with short term thinking got everyone deep in a rabbit hole with too many pitfalls.
          • samdoesnothing8 hours ago
            Especially cuz the vast majority of sites can either just be client rendered SPA&#x27;s or server rendered multipage apps. There is no need for the complexity for most sites and yet this is the default for pretty much all js frameworks...
    • csomar1 hour ago
      They are taking care of the customers. The customers are front-end dev with little experience in servers, back-end and networking. So they want to run some code that changes state without having to deal with all of that infra and complexity. Preferably while remaining in the &quot;React state&quot;. That is the attraction of Nextjs and RSC.
    • zackmorris8 hours ago
      I couldn&#x27;t agree more. I&#x27;ll probably switch from React to something like ArrowJS in my personal work:<p><a href="https:&#x2F;&#x2F;www.arrow-js.com&#x2F;docs&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.arrow-js.com&#x2F;docs&#x2F;</a><p>It makes it easy to have a central JSON-like state object representing what&#x27;s on the page, then have components watch that for changes and re-render. That avoids the opaqueness of Redux and promise chains, which can be difficult to examine and debug (unless we add browser extensions for that stuff, which feels like a code smell).<p>I&#x27;ve also heard heard good things about Astro, which can wrap components written in other frameworks (like React) so that a total rewrite can be avoided:<p><a href="https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;guides&#x2F;imports&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.astro.build&#x2F;en&#x2F;guides&#x2F;imports&#x2F;</a><p>I&#x27;m way outside my wheelhouse on this as a backend developer, so if anyone knows the actual names of the frameworks I&#x27;m trying to remember (hah), please let us know.<p>IMHO React creates far more problems than it solves:<p><pre><code> - Virtual DOM: just use Facebook&#x27;s vast budget to fix the browser&#x27;s DOM so it renders 1000 fps using the GPU, memoization, caching, etc and then add the HTML parsing cruft over that - Redux: doesn&#x27;t actually solve state transfer between backend and frontend like, say, Firebase - JSX: do we really need this when Javascript has template literals now? - Routing: so much work to make permalinks when file-based URLs already worked fine 30 years ago and the browser was the V in MVC - Components: steep learning curve (but why?) and they didn&#x27;t even bother to implement hooks for class components, instead putting that work onto users, and don&#x27;t tell us that&#x27;s hard when packages like react-universal-hooks and react-hookable-component do it - Endless browser console warnings about render changing state and other errata: just design a unidirectional data flow that detects infinite loops so that this scenario isn&#x27;t possible </code></pre> I&#x27;ll just stop there. The more I learn about React, the less I like it. That&#x27;s one of the primary ways that I know that there&#x27;s no there there when learning new tools. I also had the same experience with the magic convention over configuration in Ruby.<p>What&#x27;s really going on here, and what I would like to work on if I ever win the internet lottery (unlikely now with the arrival of AI since app sales will soon plummet along with website traffic) is a distributed logic flow. In other words, a framework where developers write a single thread of execution that doesn&#x27;t care if it&#x27;s running on backend or frontend, that handles all state synchronization, preferably favoring a deterministic fork&#x2F;join runtime like Go over async behavior with promise chains. It would work a bit like a conflict-free replicated data type (CRDT) or software transactional memory (STM) but with full atomicity&#x2F;consistency&#x2F;isolation&#x2F;durability (ACID) compliance. So we could finally get back to writing what looks like backend code in Node.js, PHP&#x2F;Laravel, whatever, but have it run in the browser too so that users can lose their internet connection and merge conflicts &quot;just work&quot; when they go back online.<p>Somewhat ironically, I thought that was how Node.js worked before I learned it, where maybe we could wrap portions of the code to have @backend {} or @frontend {} annotations that told it where to run. I never dreamed that it would go through so much handwaving to even allow module imports in the browser!<p>But instead, it seems that framework maintainers that reached any level of success just pulled up the ladder behind them, doing little or nothing to advance the status quo. Never donating to groups working from first principles. Never rocking the boat by criticizing established norms. Just joining all of the other yes men to spread that gospel of &quot;I&#x27;ve got mine&quot; to the highest financial and political levels.<p>So much of this feels like having to send developers to the end of the earth to cater to the runtime that I question if it&#x27;s even programming anymore. It would be like having people write the low-level RTF codewords in MS word rather than just typing documents via WYSIWYG. We seem to have all lost our collective minds ..the emperor has no clothes.
      • odie553349 minutes ago
        For a single page of HTML, ArrowJS&#x27;s site loads really slow. I sat for almost a full second on just the header showing.
      • baobun8 hours ago
        &gt; I also had the same experience with the magic convention over configuration in Ruby.<p>I&#x27;m not sure what this is a reference to? Is it actually about Rails?
  • benmmurphy12 hours ago
    I suspect the commit to fix is:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;bbed0b0ee64b89353a40d6313037bbc80221bc3d" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;bbed0b0ee64b89353a4...</a><p>and it looks like its been squashed with some other stuff to hide it or maybe there are other problems as well.<p>this pattern appears 4 times and looks like it is reducing the functions that are exposed to the &#x27;whitelist&#x27;. i presume the modules have dangerous functions in the prototype chain and clients were able to invoke them.<p><pre><code> - return moduleExports[metadata.name]; + if (hasOwnProperty.call(moduleExports, metadata.name)) { + return moduleExports[metadata.name]; + } + return (undefined: any);</code></pre>
    • hackhomelab12 hours ago
      It could also be <a href="https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;7dc903cd29dac55efb4424853fd0442fef3a8700" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;7dc903cd29dac55efb4...</a> (&quot;This also fixes a critical security vulnerability.&quot;)
      • nine_k12 hours ago
        It does the same thing here, too: <a href="https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;7dc903cd29dac55efb4424853fd0442fef3a8700#diff-26dd4970d5e3c8a592e7a3b7562553cb60ce7e7a1d06734c23ae647f8f59d4e6" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;facebook&#x2F;react&#x2F;commit&#x2F;7dc903cd29dac55efb4...</a>
  • karimf12 hours ago
    &gt; Projects hosted on Vercel benefit from platform-level protections that already block malicious request patterns associated with this issue.<p><a href="https:&#x2F;&#x2F;vercel.com&#x2F;changelog&#x2F;cve-2025-55182" rel="nofollow">https:&#x2F;&#x2F;vercel.com&#x2F;changelog&#x2F;cve-2025-55182</a><p>&gt; Cloudflare WAF proactively protects against React vulnerability<p><a href="https:&#x2F;&#x2F;blog.cloudflare.com&#x2F;waf-rules-react-vulnerability&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.cloudflare.com&#x2F;waf-rules-react-vulnerability&#x2F;</a>
    • Rauchg12 hours ago
      We collaborated with many industry partners to proactively deploy mitigations due to the severity of the issue.<p>We still strongly recommend everyone to upgrade their Next, React, and other React meta-frameworks (peer)dependencies immediately.
      • semiquaver10 hours ago
        Does AWS WAF have a mitigation in place?
        • odie553342 minutes ago
          Yes, AWS WAF rule is in AWSManagedRulesKnownBadInputsRuleSet <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;security&#x2F;security-bulletins&#x2F;rss&#x2F;aws-2025-030&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;security&#x2F;security-bulletins&#x2F;rss&#x2F;aws-2...</a>
    • serhalp11 hours ago
      Same for Netlify: <a href="https:&#x2F;&#x2F;www.netlify.com&#x2F;changelog&#x2F;2025-12-03-react-security-vulnerability-response&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.netlify.com&#x2F;changelog&#x2F;2025-12-03-react-security-...</a><p>and Deno Deploy&#x2F;Subhosting: <a href="https:&#x2F;&#x2F;deno.com&#x2F;blog&#x2F;react-server-functions-rce" rel="nofollow">https:&#x2F;&#x2F;deno.com&#x2F;blog&#x2F;react-server-functions-rce</a>
    • Jnr4 hours ago
      I patched and rebuilt what I could and added custom Crowdsec WAF rules for this, in case I missed something.
  • ejpir8 hours ago
    I&#x27;m fumbled around a bit and got it working, but not entirely sure if this is how it really works: have a look at <a href="https:&#x2F;&#x2F;github.com&#x2F;ejpir&#x2F;CVE-2025-55182-poc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ejpir&#x2F;CVE-2025-55182-poc</a>
    • WatchDog5 hours ago
      I ran your exploit-rce-v4.js with and without the patched react-server-dom-webpack, and both of them executed the RCE.<p>So I don&#x27;t think this mechanism is exactly correct, can you demo it with an actual nextjs project, instead of your mock server?
      • ejpir4 hours ago
        I&#x27;v updated the code, try it now with server-realistic.js:<p>1. npm start 2. npm run exploit
      • ejpir5 hours ago
        I&#x27;m trying that, nextjs is a little different because it uses a Proxy object before it passes through, which blocks the rce.<p>I&#x27;m debugging it currently, maybe I&#x27;m not on the right path after all.
    • slopfighter20 minutes ago
      Your lump of AI-generated slop has detracted from the response to an important vulnerability. Congratulations. Your PoC is invalid and you should delete it.
    • croemer6 hours ago
      Thanks for the writeup, it&#x27;s incredible!
  • z3ratul16307117 minutes ago
    there can be no React RCE. if it is on the frontend, it is a browser RCE. if it is on the backend, then, as in this case it is a Next.js RCE.
  • AgentK2014 hours ago
    CVE 10.0 is bonkers for a project this widely used
    • nine_k12 hours ago
      The packages affected, like [1], literally say:<p>&gt; <i>Experimental React Flight bindings for DOM using Webpack.</i><p>&gt; <i>Use it at your own risk.</i><p>311,955 weekly downloads though :-|<p>[1]: <a href="https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;react-server-dom-webpack" rel="nofollow">https:&#x2F;&#x2F;www.npmjs.com&#x2F;package&#x2F;react-server-dom-webpack</a>
      • ascorbic12 hours ago
        That number is misleadingly low, because it doesn&#x27;t include Next.js which bundles the dependency. Almost all usage in the wild will be Next.js, plus a few using the experimental React Router support.
        • root_axis10 hours ago
          As far as I&#x27;m aware, transitive dependencies are counted in this number. So when you npm install next.js, the download count for everything in its dependency tree gets incremented.<p>Beyond that, I think there is good reason to believe that the number is inflated due to automated downloads from things like CI pipelines, where hundreds or thousands of downloads might only represent a single instance in the wild.
          • korm9 hours ago
            It&#x27;s not a transitive dependency, it&#x27;s just literally bundled into nextjs, I&#x27;m guessing to avoid issues with fragile builds.
          • swyx8 hours ago
            why is it not normal for CI pipelines to cache these things? its a huge waste of compute and network.
            • odie553338 minutes ago
              These often do get cached at CDNs inside of the consuming data centers. Even the ISP will cache these kind of things too.
            • FINDarkside8 hours ago
              It&#x27;s certainly not uncommon to cache deps in CI. But at least at some point CircleCI was so slow at saving+restoring cache that it was actually faster to just download all the deps. Generally speaking for small&#x2F;medium projects installing all deps is very fast and bandwidth is basically free, so it&#x27;s natural many projects don&#x27;t cache any of it.
    • j4511 hours ago
      The subjects of theses types of posts should report the CVSS severity as 10.0 so the PR speak can&#x27;t simply deflect to what needs to be done.
      • WatchDog6 hours ago
        A CVSS score of 10.0 may be warranted in this case, but so many other CVSS scores are wildly inflated, that the scores don&#x27;t mean a lot.
        • j455 hours ago
          Regardless it can still provide some context and adjustment cs none.<p>The above could be seen as spin too, how could cvss be more accurate so you’d feel better?
    • rs_rs_rs_rs_rs12 hours ago
      React is widely used, react server components not so much.
      • _jab12 hours ago
        Next.js is still pretty damn widely used.
  • ksherlock4 hours ago
    You can&#x27;t have Vercel without RCE.
  • phelm13 hours ago
    More detail in the React Blog post here <a href="https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerability-in-react-server-components" rel="nofollow">https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerab...</a>
  • _el1s710 hours ago
    Next.js&#x2F;RSC has become the new PHP :)<p>I guess now we&#x27;ll see more bots scanning websites for &quot;&#x2F;_next&quot; path rather than &quot;&#x2F;wp-content&quot;.
    • ivanjermakov6 hours ago
      Inevitable when the line between the client and the server is blurred this much. RCE in a UI library is not a phrase you hear often.
      • jacquesm5 hours ago
        Maybe one day we&#x27;ll look back at JavaScript and conclude it was a gigantic mistake ship unaudited executable code to a few billion people every day.
  • ashishb1 hour ago
    JavaScript is meant to be run in a browser. Not on a backend server [1].<p>Those who are choosing JS for the backend are irresponsible stewards of their customers&#x27; data.<p>1- <a href="https:&#x2F;&#x2F;ashishb.net&#x2F;tech&#x2F;javascript&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ashishb.net&#x2F;tech&#x2F;javascript&#x2F;</a>
    • odie553340 minutes ago
      TypeScript is really nice though.
  • croemer11 hours ago
    Link should go to: <a href="https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerability-in-react-server-components" rel="nofollow">https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerab...</a>
  • dzonga12 hours ago
    till this day, I don&#x27;t know the substantial benefits of React Server Components over say classically rendered html pages + using htmx ?<p>mind you react in 2017 paid my rent. now cz of the complexity I refuse to work with react.
    • leptons11 hours ago
      &gt;now cz of the complexity I refuse to work with react.<p>What do you like to work with now?
      • TranquilMarmot10 hours ago
        Right - you can NOT tell me that a sufficiently complex application using HTMX is easier to reason about than React. I&#x27;ve had to deal with a complex HTMX codebase and it is a nightmare.
        • ethanwillis10 hours ago
          Right - you can NOT tell me that a sufficiently simple application using React is easier to reason about than HTMX. I&#x27;ve had to deal with a simple React codebase and it is a nightmare.<p>They don&#x27;t address the exact same markets.
          • chatmasta5 hours ago
            Yeah… one of them addresses a market populated by hundreds of thousands of developers with extensive professional experience in the framework, and the other addresses a niche of Python developers who refused to learn JavaScript until somebody hid it from them and called it hypermedia.
            • bdangubic1 hour ago
              100’s of thousands used to use php too :) most developers (roughly 97.56% are terrible&#x2F;incompetent so going with the herd should tell you you are on the wrong train :)
              • chatmasta1 hour ago
                Thousands of developers still use PHP… and even more users… Wordpress (43% of web), Facebook (billions of users), Wikipedia (billions of users)…. all PHP.<p>htmx is a a toy, mildly amusing to play with, built on an insecure foundation that bypasses basic browser security controls and hands a blob of JavaScript to a bunch of backend developers who can’t be bothered to learn it because they think they know better…<p>No serious project uses htmx and none ever will, because it becomes an unmaintainable mess by the third developer and second year of development.
    • switz11 hours ago
      They lend you optionality of when and where you want your code to run. Plus it enables you to define the server&#x2F;client network boundary where you see fit and cross that boundary seamlessly.<p>It&#x27;s totally fine to say you don&#x27;t understand <i>why</i> they have benefits, but it really irks me when people exclaim they have no value or exist just for complexity&#x27;s sake. There&#x27;s no system for web development that provides <i>the developer</i> with more grounded flexibility than RSCs. I wrote a blog post about this[0].<p>To answer your question, htmx solves this by leaning on the server immensely. It doesn&#x27;t provide a complete client-side framework <i>when you need it</i>. RSCs allow both the server and the client to co-exist, simply composing between the two while maintaining the full power of each.<p>[0] <a href="https:&#x2F;&#x2F;saewitz.com&#x2F;server-components-give-you-optionality" rel="nofollow">https:&#x2F;&#x2F;saewitz.com&#x2F;server-components-give-you-optionality</a>
      • ptx10 hours ago
        But is it a good idea to make it seamless when every crossing of the boundary has significant implications for security and performance? Maybe the seam should be made as simple and clear as possible instead.
        • paulhebert10 hours ago
          Yep! It’s really hard to reason in Next about when things happen on the server vs client. This makes it harder to make things secure.<p>You can create clean separation in your code to make this easier to understand but it’s not well enforced by default.
      • samdoesnothing3 hours ago
        Just because something is made possible and you can do it doesn&#x27;t mean you should!<p>The criticism is that by allowing you to do something you shouldn&#x27;t, there isn&#x27;t any benefit to be had, even if that system allows you to do something you couldn&#x27;t before.
    • AstroBen11 hours ago
      You can optionally enhance it and use React on the client. Doing that with HTMX is doable with &quot;islands&quot; but a bit more of a pain in the ass - and you&#x27;ll struggle hard if you attempt to share client state across pages. Actually there are just a lot of little gotchas with the htmx approach<p>I mean it&#x27;s a lot of complexity but ideally you shouldn&#x27;t bring it in unless you actually need it. These solutions do solve real problems. The only issue is people try to use it everywhere. I don&#x27;t use RSC, standard SPAs are fine for my projects and simpler
    • nonethewiser11 hours ago
      easier&#x2F;more reactivity, doesnt require your api responses to be text parsable to html
    • venturecruelty5 hours ago
      React lets you inflate your salary.
  • darepublic2 hours ago
    Next is only good for it&#x27;s static build, once it drops support for that I&#x27;m out.
  • c-hendricks11 hours ago
    Anyone know how Tanstack Start isn&#x27;t affected?
    • serhalp10 hours ago
      TanStack Start has its own implementation of Server Functions: <a href="https:&#x2F;&#x2F;tanstack.com&#x2F;start&#x2F;latest&#x2F;docs&#x2F;framework&#x2F;solid&#x2F;guide&#x2F;server-functions" rel="nofollow">https:&#x2F;&#x2F;tanstack.com&#x2F;start&#x2F;latest&#x2F;docs&#x2F;framework&#x2F;solid&#x2F;guide...</a>. It doesn&#x27;t use React Server Functions, in part because it intends to be agnostic of the rendering framework (it currently supports React and Solid).<p>To be fair, they also haven&#x27;t released (even experimental) RSC support yet, so maybe they lucked out on timing here.
    • dimitrisnl11 hours ago
      They haven&#x27;t implemented RSC yet.
  • samdoesnothing10 hours ago
    This is genuinely embarrassing for the Next.js and React teams. They were warned for years that their approach to server-client communication had risks, derided and ignored everyone who didn&#x27;t provide unconditional praise, and now this.<p>I think their time as Javascript thought leaders is past due.
  • bitbasher13 hours ago
    It&#x27;s almost like trying to magically wire up your frontend to the backend through magical functions is a bad idea.
    • division_by_09 hours ago
      This reminds me of the recent SvelteKit <i>Remote Functions</i> GH discussion:<p>&gt; Even in systems that prevent server functions from being declared in client code (such as &quot;use server&quot; in React Server Components), experienced developers can be caught out. We prefer a design that emphasises the public nature of remote functions rather than the fact that they run on the server, and avoids any confusion around lexical scope. [0]<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;sveltejs&#x2F;kit&#x2F;discussions&#x2F;13897" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sveltejs&#x2F;kit&#x2F;discussions&#x2F;13897</a>
    • beders12 hours ago
      One could get the impression that the only really really important non-functional requirement for such a thing is to absolutely ensure that you can only call the &quot;good&quot; functions with the &quot;good&quot; payload.
    • dizlexic12 hours ago
      ikr, no way this could have been predicted and warned about for months and months before now.
    • bossyTeacher12 hours ago
      CV driven development needs new ideas for resume padding regardless of whether the idea is good or bad. Then you get this
    • baiwl13 hours ago
      Look at the money they’ve made to see if it was a bad idea or not.
      • bitbasher13 hours ago
        I don&#x27;t think money is a good proxy for idea quality. AI? Blockchain? Crime in general? Plenty of bad ideas make a whole lot of money.
        • dizlexic12 hours ago
          Enron made boat loads.
  • udev40961 hour ago
    I am betting it would be exploited in the wild in the next few days, buckle up!
  • javaking11 hours ago
    I&#x27;m not a javascript person so I was trying to understand this. if i get it right this is basically a way to avoid writing backend APIs and manually calling them with fetch or axios as someone traditionally would do. The closest comparison my basic java backend brain can make is dynamically generating APIs at runtime using reflection, which is something I would never do... I&#x27;m lazy but not dumb
    • jazzypants17 minutes ago
      It&#x27;s an RPC. They&#x27;re half a century old. Java had RMI within a year of existence. [0]<p>&gt; In remote procedure call systems, client-side stub code must be generated and linked into a client before a remote procedure call can be done. This code may be either statically linked into the client or linked in at run-time via dynamic linking with libraries available locally or over a network file system. In either the case of static or dynamic linking, the specific code to handle an RPC must be available to the client machine in compiled form... Dynamic stub loading is used only when code for a needed stub is not already available. The argument and return types specified in the remote interfaces are made available using the same mechanism. Loading arbitrary classes into clients or servers presents a potential security problem;<p><a href="https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;archive&#x2F;6.824-2009&#x2F;papers&#x2F;waldo-rmi.pdf" rel="nofollow">https:&#x2F;&#x2F;pdos.csail.mit.edu&#x2F;archive&#x2F;6.824-2009&#x2F;papers&#x2F;waldo-r...</a>
    • mvdtnz9 hours ago
      There is a certain category of developers (a category that multiplied in size many times over around the same time as the boom in coding bootcamps, take that for what you will) who believe that there&#x27;s virtue in running the same code on the client and the server, despite them being totally different paradigms with different needs. This kind of thing is the predictable result.
      • venturecruelty5 hours ago
        &quot;You can run JavaScript on the frontend <i>and</i> the backend!&quot; always struck me as the weakest marketing ever. I&#x27;ve been around the block, and which language the web application uses is hardly any sort of limiting factor in ease of development. (And ideally, your frontend has as little JavaScript as possible anyway.) There is very little that can&#x27;t be programmed in a more web-friendly way, like POSTing forms and rendering HTML templates. Sure, I guess Google Maps can just be a fat application, but like... every eCommerce site doesn&#x27;t need to be some big ball of React mud, I promise.
        • jacquesm5 hours ago
          I think the main problem was that &#x27;the standard&#x27; wasn&#x27;t evolving fast enough to solve the bulk of the issues around input validation and UI building so we got this crap language that is powerful enough to hide a thousand footguns in a few lines of code. It will never be perfect so it will generate this kind of issue for the next century or so.<p>If instead, we would have gradually expanded the HTML standard without adding a fully functional programming language into the content stream we would have had better consistency between websites and applications and we would treat the browser like what it is: a content delivery mechanism, not an application programming platform. That&#x27;s the core mistake as far as I&#x27;m concerned.
      • chasd009 hours ago
        to be fair to bootcamp developers, i don&#x27;t think they ever did &quot;believe that there&#x27;s virtue&quot; in the setup, they were just told this is what you use and how you use it.
      • homebrewer7 hours ago
        It&#x27;s just the latest take on what we had 20 years ago with .NET&#x27;s WebForms and Java&#x27;s JSF. Both of which tried to hide the network separation between client and server and were not fun to work with.<p>Those who don&#x27;t learn history are bound to repeat it, and all that.
    • IceDane10 hours ago
      Not even remotely similar.
      • wepple10 hours ago
        Care to elaborate on what it is like, then?
      • mvdtnz9 hours ago
        Actually he&#x27;s more or less correct.
  • heldrida10 hours ago
    Do you really need React Server Conponents or even Server Side Rendering?
    • henryfjordan7 hours ago
      Before SSR (unless you were using PHP I guess) you had to ship a shell of a site with all the conditionals being decided only AFTER the browser has gotten all the HTML + JS pulled down. If you need to make any API calls, you&#x27;ve delayed rendering by hundreds of milliseconds or worse (round trip to your server)<p>With SSR, those round trips to the server could be down to single-digit milliseconds assuming your frontend server is in the same datacenter as your backend. Plus you send HTML that has actual content to be rendered right away.<p>A truly functional pageload can go from seconds to milliseconds, and you&#x27;re transferring less data over the wire. Better all around at the expense of running a React Server instead of a static file host.
      • jazzypants15 minutes ago
        Thank you. It&#x27;s disappointing that you have to say this on a website full of supposedly technically proficient people.
    • quentindanjou8 hours ago
      It&#x27;s very use-case dependent.<p>SSR can be a game-changer in domains like e-commerce. But completely useless for some other use case.<p>RSC advantages are a bit more complex to explain, because even a simple portfolio website would benefit from it. Contrary to the common belief created by long-term ReactJS dev, RSC simplifies a lot of the logic. Adapting existing code to RSC can be quite a mess and RSC is a big change of mindset for anybody used to ReactJS.
    • venturecruelty5 hours ago
      Yes. Web applications were impossible before these libraries.
      • Levitating30 minutes ago
        If you truly believe that than we must really be moving backwards
      • jacquesm4 hours ago
        No, they were not. They required a lot more round-trips to the server though, and rendering the results was a lot harder. But if you think of a browser as an intelligent terminal there is no reason why you couldn&#x27;t run the application server side and display the UI locally, that&#x27;s just a matter of defining some extra primitives. Graphical terminals were made first in the 60&#x27;s or so.
    • gloosx9 hours ago
      Of course you do, in certain cases making less round-trips to the server is just straight more efficient
  • gcau3 hours ago
    I&#x27;m a big fan of react, but all the server stuff was a cold hard mistake, it&#x27;s only a matter of time before the (entire) react team realises it, assuming their nextjs overlords permit it.
  • kachapopopow10 hours ago
    static builds save the day.
  • ajross13 hours ago
    The CVE says the that flaw is in React Server Components, which implies strongly that this is a RCE on the backend (!!), not the client.
    • heisenbit9 hours ago
      I suspect client developers are also affected at least to the extent that they need to explain this RCE to CVE driven management.
    • IceDane9 hours ago
      Bravo.
    • padjo12 hours ago
      Where else would it be? What would an RCE of the client even mean?
      • cyptus10 hours ago
        it would be an RCE on your own machine :D
      • ajross9 hours ago
        The term is always ambiguous. But react is generally understood as a client library and client-side vulnerabilities are hardly a new thing. XSS exists as a whole subfield of study precisely because of the difficulty of keeping site code from getting fooled by malicious input.<p>Basically you&#x27;re technically correct with your quip, but engaging in some pretty awful security analysis. IMHO most people reading this headline are not going to understand that they need to audit their server dependencies.
  • nickthegreek13 hours ago
    dupe: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46136067">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46136067</a>
  • dizlexic12 hours ago
    AHAHAHAHAHA, I&#x27;m sorry but we all knew this would happen.<p>I&#x27;m just laughing because I called it when they were in the &quot;random idea x posts&quot; about use server.<p>They&#x27;ll fix it, but this was what we were warning about.<p>edit: downvote if you want, but I&#x27;m sorry React thinking they could shoehorn &quot;use server&quot; in and not create huge vulnerabilities was a pipe dream at best. I vote gross negligence because EVERYONE knew this was going to happen.
    • cluckindan12 hours ago
      This is not related to ”use server”. That’s used to mark Server Actions &#x2F; Server Functions, and it is not necessarily used in files with Server Components.
      • ptx12 hours ago
        It sounds related to me. The react.dev blog post [1] says that the vulnerability is<p>&gt; <i>a flaw in how React decodes payloads sent to React Server Function endpoints</i><p>and the react.dev docs for React Server Functions [2] say that<p>&gt; <i>Server Components can define Server Functions with the &quot;use server&quot; directive [...] Client Components can import Server Functions from files that use the &quot;use server&quot; directive</i><p>So it certainly sounds like the vulnerability is related to React Server Functions which are related to &quot;use server&quot;.<p>[1] <a href="https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerability-in-react-server-components" rel="nofollow">https:&#x2F;&#x2F;react.dev&#x2F;blog&#x2F;2025&#x2F;12&#x2F;03&#x2F;critical-security-vulnerab...</a><p>[2] <a href="https:&#x2F;&#x2F;react.dev&#x2F;reference&#x2F;rsc&#x2F;server-functions" rel="nofollow">https:&#x2F;&#x2F;react.dev&#x2F;reference&#x2F;rsc&#x2F;server-functions</a>
        • cluckindan11 hours ago
          No. You cannot find all vulnerable code by grepping for ”use server”, for instance.
          • jazzypants12 minutes ago
            I&#x27;m sorry, but you&#x27;re incorrect. That is genuinely how this CVE works. All (and only) code with &quot;use server&quot; was vulnerable.
          • dizlexic10 hours ago
            So that’s your “it’s not related to use server” argument?<p>That seems like it could be a quote from their hardening guide.