Update dependency ray to v2.54.0 [SECURITY]#57
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
Contributor
Author
|
531ac73 to
eb91da0
Compare
eb91da0 to
aeef1f8
Compare
aeef1f8 to
1d53237
Compare
1d53237 to
36cee51
Compare
36cee51 to
10b2330
Compare
10b2330 to
908b311
Compare
908b311 to
35d72fc
Compare
35d72fc to
8da4b47
Compare
8da4b47 to
345ddf0
Compare
345ddf0 to
3554772
Compare
3554772 to
260d59c
Compare
260d59c to
89dadf5
Compare
89dadf5 to
5f45548
Compare
5f45548 to
1bb47d4
Compare
834bc21 to
02080c1
Compare
02080c1 to
03021df
Compare
03021df to
2da8f44
Compare
2da8f44 to
a57a807
Compare
a57a807 to
52d1c40
Compare
52d1c40 to
7ea00d5
Compare
7ea00d5 to
e4de403
Compare
89fd7c9 to
65a752d
Compare
65a752d to
326eb5d
Compare
326eb5d to
7a08416
Compare
7a08416 to
2da472c
Compare
2da472c to
6147f36
Compare
6147f36 to
7c1ad3f
Compare
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~=2.21.0→~=2.54.0~=2.48.0→~=2.54.0==2.43.0→==2.54.0==2.21.0→==2.54.0==2.48.0→==2.54.0ray vulnerable to Insertion of Sensitive Information into Log File
CVE-2025-1979 / GHSA-w4rh-fgx7-q63m / PYSEC-2025-23
More information
Details
Versions of the package ray before 2.43.0 are vulnerable to Insertion of Sensitive Information into Log File where the redis password is being logged in the standard logging. If the redis password is passed as an argument, it will be logged and could potentially leak the password.
This is only exploitable if:
Logging is enabled;
Redis is using password authentication;
Those logs are accessible to an attacker, who can reach that redis instance.
Note:
It is recommended that anyone who is running in this configuration should update to the latest version of Ray, then rotate their redis password.
Severity
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
CVE-2025-1979 / GHSA-w4rh-fgx7-q63m / PYSEC-2025-23
More information
Details
Versions of the package ray before 2.43.0 are vulnerable to Insertion of Sensitive Information into Log File where the redis password is being logged in the standard logging. If the redis password is passed as an argument, it will be logged and could potentially leak the password.
This is only exploitable if:
Logging is enabled;
Redis is using password authentication;
Those logs are accessible to an attacker, who can reach that redis instance.
Note:
It is recommended that anyone who is running in this configuration should update to the latest version of Ray, then rotate their redis password.
Severity
Unknown
References
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
Ray has arbitrary code execution via jobs submission API
CVE-2023-48022 / GHSA-6wgj-66m2-xxp2
More information
Details
Anyscale Ray allows a remote attacker to execute arbitrary code via the job submission API. NOTE: the vendor's position is that this report is irrelevant because Ray, as stated in its documentation, is not intended for use outside of a strictly controlled network environment.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Ray's New Token Authentication is Disabled By Default
CVE-2025-34351 / GHSA-gx77-xgc2-4888
More information
Details
Anyscale Ray 2.52.0 contains an insecure default configuration in which token-based authentication for Ray management interfaces (including the dashboard and Jobs API) is disabled unless explicitly enabled by setting RAY_AUTH_MODE=token. In the default unauthenticated state, a remote attacker with network access to these interfaces can submit jobs and execute arbitrary code on the Ray cluster. NOTE: The vendor plans to enable token authentication by default in a future release. They recommend enabling token authentication to protect your cluster from unauthorized access.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Ray is vulnerable to Critical RCE via Safari & Firefox Browsers through DNS Rebinding Attack
CVE-2025-62593 / GHSA-q279-jhrf-cc6v
More information
Details
Summary
Developers working with Ray as a development tool can be exploited via a critical RCE vulnerability exploitable via Firefox and Safari.
Due to the longstanding decision by the Ray Development team to not implement any sort of authentication on critical endpoints, like the
/api/jobs&/api/job_agent/jobs/has once again led to a severe vulnerability that allows attackers to execute arbitrary code against Ray. This time in a development context via the browsers Firefox and Safari.This vulnerability is due to an insufficient guard against browser-based attacks, as the current defense uses the
User-Agentheader starting with the string "Mozilla" as a defense mechanism. This defense is insufficient as the fetch specification allows theUser-Agentheader to be modified.Combined with a DNS rebinding attack against the browser, and this vulnerability is exploitable against a developer running Ray who inadvertently visits a malicious website, or is served a malicious advertisement (malvertising).
Details
The mitigations implemented to protect against browser based attacks against local Ray nodes are insufficient.
Current Mitigation Strategies
https://github.com/ray-project/ray/blob/f39a860436dca3ed5b9dfae84bd867ac10c84dc6/python/ray/dashboard/optional_utils.py#L129-L155
https://github.com/ray-project/ray/blob/e7889ae542bf0188610bc8b06d274cbf53790cbd/python/ray/dashboard/http_server_head.py#L184-L196
This is because the fundamental assumption that the
User-Agentheader can't be manipulated is incorrect. In Firefox and in Safari, thefetchAPI allows theUser-Agentheader to be set to a different value. Chrome is not vulnerable, ironically, because of a bug, bringing it out of spec with thefetchspecification.Exploiting this vulnerability requires a DNS rebinding attack against the browser. Something trivially done by modern tooling like nccgroup/singularity.
PoC
Please note, this full PoC will be going live at time of disclosure.
ray start --head --port=63798265Ray Jobs RCE (default port 8265)If this attack doesn't work, consider clicking the "Toggle Advanced Options" and trying an alternative "Rebinding Strategy". I've personally been able to get this attack to work multiple times on MacOS on multiple different residential networks around the Seattle area. Some corporate networks may block DNS rebinding attacks, but likely not many.
What's going on?
This is the payload running in nccgroup/singularity:
See: https://github.com/nccgroup/singularity/pull/68
Impact
This vulnerability impacts developers running development/testing environments with Ray. If they fall victim to a phishing attack, or are served a malicious ad, they can be exploited and arbitrary shell code can be executed on their developer machine.
This attack can also be leveraged to attack network-adjacent instance of ray by leveraging the browser as a confused deputy intermediary to attack ray instances running inside a private corporate network.
Fix
The fix for this vulnerability is to update to Ray 2.52.0 or higher. This version also, finally, adds a disabled-by-default authentication feature that can further harden against this vulnerability: https://docs.ray.io/en/latest/ray-security/token-auth.html
Fix commit: ray-project/ray@70e7c72
Several browsers have, after knowing about the attack for 19 years, recently begun hardening against DNS rebinding. (Chrome Local Network Access). These changes may protect you, but a previous initiative, "private network access" was rolled back. So updating is highly recommended as a defense-in-depth strategy.
Credit
The fetch bypass was originally theorized by @avilum at Oligo. The DNS rebinding step, full POC, and disclosure was by @JLLeitschuh while at Socket.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Ray dashboard DELETE endpoints allow unauthenticated browser-triggered DoS (Serve shutdown / job deletion)
CVE-2026-27482 / GHSA-q5fh-2hc8-f6rq
More information
Details
Summary
Ray’s dashboard HTTP server blocks browser-origin POST/PUT but does not cover DELETE, and key DELETE endpoints are unauthenticated by default. If the dashboard/agent is reachable (e.g., --dashboard-host=0.0.0.0), a web page via DNS rebinding or same-network access can
issue DELETE requests that shut down Serve or delete jobs without user interaction. This is a drive-by availability impact.
Details
PoC
Prereqs: dashboard reachable (e.g., ray start --head --dashboard-host=0.0.0.0), no token auth.
Result: Serve shuts down.
3) Similarly, delete jobs:
fetch("http://<dashboard-host>:8265/api/jobs/<job_or_submission_id>", { method: "DELETE" });fetch("http://<dashboard-agent>:52365/api/job_agent/jobs/<job_or_submission_id>", { method: "DELETE" });Browsers will send the Mozilla UA and Origin/Sec-Fetch headers, but DELETE is not blocked by the middleware, so the requests succeed.
Impact
Fix
The fix for this vulnerability is to update to Ray 2.54.0 or higher.
Fix PR: https://github.com/ray-project/ray/pull/60526
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
GitHub Vulnerability Alerts
CVE-2025-1979
Versions of the package ray before 2.43.0 are vulnerable to Insertion of Sensitive Information into Log File where the redis password is being logged in the standard logging. If the redis password is passed as an argument, it will be logged and could potentially leak the password.
This is only exploitable if:
Logging is enabled;
Redis is using password authentication;
Those logs are accessible to an attacker, who can reach that redis instance.
Note:
It is recommended that anyone who is running in this configuration should update to the latest version of Ray, then rotate their redis password.
Release Notes
ray-project/ray (ray)
v2.54.0Compare Source
Ray Data
🎉 New Features
sql_paramssupport toread_sql(#60030)AsListaggregation (#59920)CountDistinctaggregate (#59030)UDFExpr(#56725)write_parquet()(#59102)💫 Enhancements
preserve_order(#60555)DefaultClusterAutoscalerV2thresholds via env vars (#60133)DownstreamCapacityBackpressurePolicy(#59753)node_id,pid, attempt number for hanging tasks (#59793)OpRuntimeMetricsfor progress (#60304)OpMetricslogging (#59907)TENSOR_COLUMN_NAMEconstant (#60573)meta_providerparameter (#60379)ray.dataimports (#60292)StatefulShuffleAggregation.finalizeallow incremental streaming (#59972)OutputSplittersemantics to avoid unnecessary buffer accumulation (#60237)BackpressurePolicyto streaming executor progress bar (#59637)StandardScalerpreprocessor with Arrow format (#59906)🔨 Fixes
MapBatcheseven if they modify the row count (#60756)map_batchesby default (#60448)ActorPoolMapOperatorto guarantee dispatch of all given inputs (#60763)ArrowInvaliderror when backfilling missing fields from map tasks (#60643)UnionOperator.clear_internal_output_queue(#60538)DefaultClusterAutoscalerV2raising KeyError: 'CPU' (#60208)ReorderingBundleQueuehandling of empty output sequences (#60470)DefaultAutoscalerV2not scaling nodes from zero (#59896)use_ray_tqdm(#59996)StreamingRepartitionhang with empty upstream results (#59848)AutoscalingCoordinatordouble-allocating resources for multiple datasets (#59740)DownstreamCapacityBackpressurePolicyissues (#59990)AutoscalingCoordinatorcrash when requesting 0 GPUs on CPU-only cluster (#59514)TensorArraytoArrowtensor conversion (#59449)max_actorsis set (#59632)📖 Documentation
resource_limitsrefers to logical resources (#60109)read_lancedoc (#59673)read_unity_catalogdocstring (#59745)enable_true_multi_threading(#60515)Ray Serve
🎉 New Features
QueueMonitoractor that queries message brokers (Redis, RabbitMQ) for queue length, enabling TaskConsumer scaling based on pending tasks rather than HTTP load. (#59430)apply_autoscaling_configdecorator allows custom autoscaling policies to automatically benefit from Ray Serve's standard parameters (delays, scaling factors, bounds) without reimplementation. (#58857)label_selectorandbundle_label_selectorin Serve deployments. Deployments can now specify node label selectors for scheduling and bundle-level label selectors for placement groups, useful for targeting specific hardware (e.g., TPU topologies). (#57694)serve_autoscaling_snapshotlog per autoscaling-enabled deployment each control-loop tick, with an event summarizer that reduces duplicate logs. (#56225)@serve.batch. (#59334)💫 Enhancements
lookback_period_smust now be greater thanmetrics_interval_s, preventing silent misconfigurations. (#59456)root_pathsupport for uvicorn.root_pathnow works correctly across all uvicorn versions, including >=0.26.0 which changed how root_path is processed. (#57555)serve.shutdown(), eliminating cross-library import dependencies. (#60067)ray.init()when Pydantic v1 is detected, as support will be removed in Ray 2.56. (#59703)🔨 Fixes
_ray_trace_ctxwhen calling actors from a different process than the one that created them (e.g., serve start + dashboard interaction). (#59634)TaskProcessorAdaptershutdown during rolling updates. Removedshutdown()from__del__, which was broadcasting a kill signal to all Celery workers instead of just the local one, breaking rolling updates. (#59713)test_router_queue_len_metric, ensured proxy replica queue cache is populated before GCS failure tests, and added metrics server readiness checks. (#60333, #60466, #60468)📖 Documentation
🏗 Architecture refactoring
RAY_SERVE_DEFAULT_HTTP_HOST,RAY_SERVE_DEFAULT_HTTP_PORT,RAY_SERVE_DEFAULT_GRPC_PORT,RAY_SERVE_HTTP_KEEP_ALIVE_TIMEOUT_S,RAY_SERVE_REQUEST_PROCESSING_TIMEOUT_S,RAY_SERVE_ENABLE_JSON_LOGGING,RAY_SERVE_ALWAYS_RUN_PROXY_ON_HEAD_NODE), cleaned up legacy constant fallbacks, and added documentation for previously undocumented env vars (e.g.,RAY_SERVE_CONTROLLER_MAX_CONCURRENCY,RAY_SERVE_ROOT_URL, proxy health check settings, and fault tolerance params). Users relying on removed env vars should migrate to the Serve config API (http_options,grpc_options,LoggingConfig). (#59470, #59619, #59647, #59963, #60093)Ray Train
🎉 New Features
CallbackManagerand guardrail some callback hooks (#60117)💫 Enhancements
PredictorAPI (#60305)PlacementGroupandSlicePlacementGroupinterface in WorkerGroup (#60116)RayTrainWorkeractors (#59872)pg.ready()withpg.wait()in worker group (#60568)DatasetsSetupCallbacktoDatasetsCallback(#59423)🔨 Fixes
try-exceptforpg.wait()(#60743)TrainControllerreraisesAsyncioActorExit(#59461)📖 Documentation
JaxTrainertemplate (#59842)checkpoint_upload_fnbackend and cuda:nccl backend support (#60541)checkpoint_upload_functocheckpoint_upload_fnin docs (#60390)Ray Tune
🔨 Fixes
Ray LLM
🎉 New Features
/tokenizeand/detokenizeendpoints (#59787)/collective_rpcendpoint for RLHF weight synchronization (#59529)poolingparameter (#59534)guided_decoding(#59421)should_continue_on_errorsupport forServeDeploymentStage(#59395)HttpRequestUDFresources (#60313)💫 Enhancements
world_size==1(#60403)computeinstead ofconcurrencyto specifyActorPoolsize (#59645)DataContextoverrides in Ray Data LLM Processor (#60142)Configuration
📅 Schedule: Branch creation - "" in timezone America/Toronto, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.