chore(deps): update dependency ray to v2.54.0 [security]#6633
Open
renovate[bot] wants to merge 1 commit intodevelopfrom
Open
chore(deps): update dependency ray to v2.54.0 [security]#6633renovate[bot] wants to merge 1 commit intodevelopfrom
renovate[bot] wants to merge 1 commit intodevelopfrom
Conversation
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.53.0→2.54.0GitHub Vulnerability Alerts
CVE-2026-27482
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
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)torch.Tensorserialization overhead (#59919)PrefixCacheAwareRouterimbalance threshold less surprising (#59390)tokenized_promptwithoutpromptinvLLMEngineStage(#59801)fn_constructor_kwargs(#59806)CUDA_VISIBLE_DEVICESdeletion workaround (#60502)🔨 Fixes
Namespaceconversion in vLLM engine initialization (#60380)ndarrayexception inhttp_request_stage(#60299)EngineDeadErrorto enable recovery (#60145)📖 Documentation
vLLMEngineProcessor(#59446)Ray RLlib
🎉 New Features
BCandMARWIL(#59067)💫 Enhancements
np.nanmeanwarnings in EMA stats (#60408)🔨 Fixes
RLModuleforward methods to handle dict spaces (#60451)LearnerGroup.load_module_state()and mark as deprecated (#60354)AlgorithmConfig(#59438)flatten_observations.pyfor nested spaces for ignored multi-agent (#59928)Ray Core
🎉 New Features
cgroup_pathinray.init()(#59372, #60183, #60726)is_canceled()(#58914)--entrypoint-resource(#59735)--ipoption inray attach(#59931)ray kill-actor --name/--namespacefor force/graceful shutdown (#60258)💫 Enhancements
RAY_AUTH_MODE=k8swith separate config for Kubernetes token auth (#59621)shared_ptrcaching and avoid per-RPC construction (#59500)OpenTelemetrymetric recording calls (#59337)working_diruploads (#59566)DEBUGinRaySyncer(#59616)std::unordered_maptoabsl::flat_hash_map(#59921)NodeDefinitionEventproto (#60314)repr_nametoactor_lifecycle_event(#59925)ALLin exposable event config (#59878)SubprocessModuleHandle.destroy_module()resource cleanup (#60172)is_headin dashboard agent startup (#59378)get_session_name()to RuntimeContext (#59469)MAX_APPLICATION_ERROR_LENconfigurable via env var (#59543)🔨 Fixes
idle_time_msresetting for nodes not running tasks (#60581)RAY_EXPERIMENTAL_NOSET_*environment variable parsing in accelerator managers (#60577)ray start --no-redirect-outputcrash (#60394)PSUTIL_PROCESS_ATTRSreturning empty list on Windows (#60173)available_node_typeson on-prem clusters (#60184)MetricsAgentClientexporter initialization (#59611)internal_ip()withinStandardAutoscaler(#57279)uv_runtime_env_hook.pyto pin worker Python version (#59768)STRICT_PACKplacement groups ignoring bundle label selectors (#60170)psutilinternal API usage in dashboard disk usage reporting (#59659)RUNNINGvsFINISHEDmetrics (#59893)symmetric_runusing wrong condition to check GCS readiness (#59794)TypeErrorwhen usingbundle_label_selectors(#59850)📖 Documentation
ray.shutdown()behavior for local vs remote clusters (#59845)RAY_RUNTIME_ENV_BEARER_TOKENenv var (#60136)Dashboard
💫 Enhancements
🔨 Fixes
Ray Wheels and Images
ray-cppwheels are nowpy3-none, without specific Python versions. (#59969)Documentation
RayJobInTreeAutoscalingwith Kueue docs after Kueue 0.16.0 release (#59648)RunLLMchat widget for Ray docs (#59126)Thanks
Thank you to everyone who contributed to this release!
@KaisennHu, @MiXaiLL76, @slfan1989, @krisselberg, @JasonLi1909, @Priya-753, @pseudo-rnd-thoughts, @zzchun, @ZacAttack, @pushpavanthar, @jjyao, @ryanaoleary, @pcmoritz, @akshay-anyscale, @HassamSheikh, @yurekami, @Hyunoh-Yeo, @ruoliu2, @nrghosh, @wxwmd, @myandpr, @J-Meyers, @trilamsr, @kouroshHakha, @limarkdcunha, @manhld0206, @jreiml, @preneond, @yuchen-ecnu, @Yicheng-Lu-llll, @AchimGaedkeLynker, @vaishdho1, @israbbani, @OneSizeFitsQuorum, @Sathyanarayanaa-T, @nadongjun, @xinyuangui2, @Rob12312368, @as-jding, @lee1258561, @popojk, @coqian, @rajeshg007, @jeffreywang-anyscale, @kamil-kaczmarek, @alexeykudinkin, @Aydin-ab, @mgchoi239, @dragongu, @edoakes, @smortime, @tk42, @abrarsheikh, @jakubzimny, @Future-Outlier, @axreldable, @owenowenisme, @g199209, @cem-anyscale, @dayshah, @akelloway, @daiping8, @dlwh, @robertnishihara, @400Ping, @matthewdeng, @antoine-galataud, @cristianjd, @Partth101, @goutamvenkat-anyscale, @codope, @seanlaii, @andrew-anyscale, @andrewsykim, @liulehui, @simonsays1980, @Sparks0219, @yifanmai, @landscapepainter, @win5923, @kangwangamd, @srinarayan-srikanthan, @KeeProMise, @srinathk10, @my-vegetable-has-exploded, @MengjinYan, @yancanmao, @yuhuan130, @ArturNiederfahrenhorst, @akyang-anyscale, @rushikeshadhav, @kongjy, @harshit-anyscale, @justinvyu, @dancingactor, @Vito-Yang, @cr7258, [@marwan116](https://redirect.github.com/marwan1
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.