Comparison Overview
Cadagua, a Ferrovial company

Cadagua, a Ferrovial company
Gran Vía Don Diego López de Haro, 45, 8th Floor, Bilbao-Bilbo, Basque Country, ES, 48011
Last Update: 02/04/2026
We specialize in the design, construction, and operation of water treatment facilities. With almost 50 years of experience, we have offered solutions for over 400 projects, both in industrial facilities and urban environments. We aim to ensure the drinking water suppl...

SNC-Lavalin
455 René-Lévesque Blvd West, Montreal, H2Z 1Z3, CA
Last Update: 03/04/2026
SNC Lavalin is now AtkinsRéalis. Please follow AtkinsRéalis on LinkedIn. We are a world-class engineering services and nuclear organization. We connect people, data and technology to transform the world’s infrastructure and energy systems. Together, with our industry...
Compliance Ranges Comparison

Cadagua, a Ferrovial company







SNC-Lavalin






Benchmark & Cyber Underwriting Signals
Incidents vs Civil Engineering Industry Avg (This Year)
No incidents recorded for Cadagua, a Ferrovial company in 2026.
Incidents vs Civil Engineering Industry Avg (This Year)
No incidents recorded for SNC-Lavalin in 2026.
Incident History - Cadagua, a Ferrovial company (X = Date, Y = Severity)
Cadagua, a Ferrovial company cyber incidents detection timeline including parent company and subsidiaries.
Incident History - SNC-Lavalin (X = Date, Y = Severity)
SNC-Lavalin cyber incidents detection timeline including parent company and subsidiaries.
Notable Incidents

Cadagua, a Ferrovial company

SNC-Lavalin
FAQ
Latest Global CVEs
Dify is an open-source LLM app development platform. Prior to 1.16.0, the PUT /console/api/apps/<app_id>/server endpoint in api/controllers/console/app/mcp_server.py used AppMCPServerController.put() to retrieve an AppMCPServer by the client-supplied server ID without verifying that the server belonged to the requested application and tenant. An authenticated workspace member could therefore change another application's MCP server status and parameters, potentially redirecting data or disabling the service. This issue is fixed in version 1.16.0.
vLLM is an inference and serving engine for large language models. Prior to 0.30.0, a caller can use the request-level media_io_kwargs field to select the GLMGA video backend and supply large values for the fps and max_frames options without a strict work ceiling. GLMGA constructs and deduplicates an attacker-sized pre-decode frame-index list, allowing a compact request and tiny valid video to consume disproportionate CPU time and memory in the shared media-loading executor. This issue is fixed in version 0.30.0.
vLLM is an inference and serving engine for large language models. Prior to 0.30.0, the Rust frontend's track_http_metrics middleware records the raw HTTP method token as a Prometheus label for requests reaching registered routes. An unauthenticated attacker can send unique arbitrary method tokens to unguarded routes such as /tokenize, causing Prometheus's Family::get_or_create function to permanently create counter and histogram label sets. Those label sets increase process memory usage and enlarge the /metrics response until the service or monitoring path is exhausted. This issue is fixed in version 0.30.0.
vLLM is an inference and serving engine for large language models. From 0.24.0 until 0.30.0, the Qwen2VLVideoBackend and Qwen3VLVideoBackend classes accept request-level values for the media_io_kwargs.video.max_frames and media_io_kwargs.video.fps fields without enforcing server-side ceilings. An unauthenticated caller can submit these values to the /tokenize endpoint, causing the sampler to decode every frame selected from attacker-controlled video input, consume disproportionate frontend memory, and potentially terminate the API process before scheduling or admission control. The Rust frontend is not affected because it rejects the media_io_kwargs field. This issue is fixed in version 0.30.0.
vLLM is an inference and serving engine for large language models. Prior to 0.30.0, structured-output request failures can escape request-scoped validation and reach the EngineCore fatal-error path. A per-request backend mismatch can re-raise a grammar compilation exception, padding produced by the ngram_gpu speculative-decoding mode can pass a negative token to guidance validation, and the Rust frontend can admit empty structured-output values that the Python frontend rejects, allowing ordinary constrained-generation requests to terminate the shared engine. This issue is fixed in version 0.30.0.