Ben Benhemo, Security Innovation Engineer at Sola Security, explains that identifying exposure requires visibility across the entire software lifecycle, including source code, CI/CD pipelines, deployed services, and developer environments.
Benhemo previously worked in DevSecOps, vulnerability management, and cloud security roles at K Health. Earlier in his career, he handled incident response and threat hunting at HUB Security and White-Hat, and served in the Israel Defense Forces.
In this discussion, Benhemo examines why vulnerabilities in frameworks such as React or Next.js are difficult to contain, and how reachability analysis and execution context help assess real risk.
He explains why dependency visibility must function as a continuous control rather than a one-time scan when responding to CVEs. Without that visibility, organizations struggle to understand the complete scope of risk introduced by vulnerabilities.
Vishwa: What makes vulnerabilities affecting widely used components harder to contain once they are disclosed?
Ben: Widely used components are often included both directly and indirectly through transitive dependencies, making it harder for organizations to quickly understand their true exposure once a vulnerability is disclosed. Vulnerable components can exist at multiple stages of the software lifecycle:
Vishwa: When a CVE is disclosed, how can security teams quickly identify affected GitHub repositories?
Ben: The security teams should have a centralized source of visibility into the organization’s SBOM, enabling them to quickly search across all services and identify where the affected dependency version exists.
As an additional layer, security teams should also maintain indexed search capabilities across all GitHub repositories, enabling rapid querying of dependency names and versions within package manifests and lock files.
When CI/CD pipelines include dependency scanning, security teams can define specific detection rules for the CVE to flag or block any new code changes that introduce it.
Vishwa: What challenges do security teams face when trying to protect against unauthenticated RCE at scale?
Ben: The bigger the organization, the larger the number of platforms, business units, services, and teams. Most of the time, it is difficult to have a unified and centralized view across the entire organization.
At scale, it is often unclear which team or developer owns a specific service or repository, which delays remediation efforts. The more affected resources an organization has, the more complex it becomes to manage the remediation process, crossing teams and departments.
Vishwa: When vulnerabilities affect frameworks like React or Next.js, how do execution context and reachable code paths help assess the systemic risk introduced across the web ecosystem?
Ben: The presence of a vulnerable framework version does not necessarily mean the vulnerable functionality is in use. Reachability analysis helps teams determine whether vulnerable functionality can actually be invoked through reachable routes or access paths within the application flow.
Execution context is also important, as the same vulnerable code may introduce vastly different levels of risk depending on whether it runs.
For example, it can run as:
Vishwa: How do deployment context and business criticality help security teams prioritize remediation of unauthenticated RCE exposure?
Ben: Deployment context directly affects risk prioritization. For example, a service with unauthenticated RCE exposure that is not publicly exposed or is protected by additional security layers presents a lower risk than an internet-facing system.
Understanding the business context and core units is also important. A vulnerability in a system considered a “crown jewel” (for example, a revenue-generating or customer-facing platform) is far more urgent than a service in a test environment.
Vishwa: What should organizations do immediately after learning about an unauthenticated RCE affecting a widely used framework?
Ben: Organizations should first gain a clear understanding of the vulnerability, including its impact, the attack vector, and the prerequisites required for it to be successfully exploited. This understanding helps to better assess the risk and the proper fix.
For example, during the Next.js CVE-2025-29927 authorization bypass, enabling a simple Web Application Firewall rule to block requests leveraging the x-middleware-subrequest header provided effective initial protection before teams even needed to update the affected versions.
After learning about the CVE, the organization should begin scanning across the entire software lifecycle to identify instances of the affected framework.
This includes:
Once the organization has that visibility and knowledge, it should prioritize and begin remediating affected assets based on their business criticality. This step leverages both business context and deployment context.
Vishwa: How should organizations approach dependency visibility as a continuous security control, rather than a one-time scan, to support rapid response?
Ben: Organizations should integrate dependency scanning into CI/CD pipelines, automatically flagging or blocking changes that contain vulnerable components before they reach production.
To ensure wider visibility, organizations should implement a scheduled scanning process across the entire organization to ensure that legacy or low-velocity applications are also continuously scanned. These scans can run on a nightly basis to minimize operational impact.