chore(deps): update dependency mlflow to v3.16.0 [security] - #92
Open
red-hat-konflux-kflux-prd-rh02[bot] wants to merge 1 commit into
Open
chore(deps): update dependency mlflow to v3.16.0 [security]#92red-hat-konflux-kflux-prd-rh02[bot] wants to merge 1 commit into
red-hat-konflux-kflux-prd-rh02[bot] wants to merge 1 commit into
Conversation
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[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:
3.15.1→3.16.0MLflow AI Gateway permits SSRF through an unvalidated api_base
CVE-2026-71211 / GHSA-h7x2-h6g9-p789 / PYSEC-2026-3865
More information
Details
MLflow's AI Gateway accepts an auth_config.api_base value when creating a gateway secret (mlflow/server/handlers.py, _create_gateway_secret) with no validation of scheme, host, or IP range; the value is stored verbatim. The gateway proxy endpoint (mlflow/server/gateway_api.py, raw_proxy) subsequently issues an HTTP request to that stored api_base plus a caller-supplied path and returns the full response body. MLflow's existing SSRF guard, _validate_webhook_url (which blocks non-global and metadata IPs), is never invoked anywhere in this gateway secret/proxy code path. The CreateGatewaySecret action additionally has no entry in the permission-validator map, so it requires only basic authentication rather than any specific scope, meaning any authenticated user — including read-only accounts — can create a secret pointing at an internal address and reach it via the proxy endpoint, potentially exposing cloud-instance IAM credentials via metadata services. This is related to CVE-2026-4035, which addresses a distinct mechanism in the same gateway-secret feature (server-side $ENV_VAR resolution inside the api_key field leaking credentials to the configured upstream); the finding here is an independent missing-validation gap in the api_base destination itself, unaffected by that fix.
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
MLflow AI Gateway permits SSRF through an unvalidated api_base
CVE-2026-71211 / GHSA-h7x2-h6g9-p789 / PYSEC-2026-3865
More information
Details
MLflow's AI Gateway accepts an auth_config.api_base value when creating a gateway secret (mlflow/server/handlers.py, _create_gateway_secret) with no validation of scheme, host, or IP range; the value is stored verbatim. The gateway proxy endpoint (mlflow/server/gateway_api.py, raw_proxy) subsequently issues an HTTP request to that stored api_base plus a caller-supplied path and returns the full response body. MLflow's existing SSRF guard, _validate_webhook_url (which blocks non-global and metadata IPs), is never invoked anywhere in this gateway secret/proxy code path. The CreateGatewaySecret action additionally has no entry in the permission-validator map, so it requires only basic authentication rather than any specific scope, meaning any authenticated user — including read-only accounts — can create a secret pointing at an internal address and reach it via the proxy endpoint, potentially exposing cloud-instance IAM credentials via metadata services. This is related to CVE-2026-4035, which addresses a distinct mechanism in the same gateway-secret feature (server-side $ENV_VAR resolution inside the api_key field leaking credentials to the configured upstream); the finding here is an independent missing-validation gap in the api_base destination itself, unaffected by that fix.
Severity
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:NReferences
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
Release Notes
mlflow/mlflow (mlflow)
v3.16.0Compare Source
MLflow 3.16.0 includes several major features and improvements
Breaking changes:
--static-prefix(#24511, @SeiichiroYoshioka)Features:
Expectationfield to the traces table filter UI (#25460, @creater29)logFeedbackand typed trace assessments (#25169, @rajudandigam)import mlflow(#25247, @harupy)shouldEnableModelTraceExplorerCustomTraceViewin OSS (#25245, @aaronteo-db)mlflow scorers list --builtinwith the full scorer catalog (#25003, @joshuawong-db)MLFLOW_TRACKING_AUTH=kubernetes/kubernetes-namespacedsupport (#24243, @robinnarsinghranabhat)optimize_prompts(#23488, @gaurav0107)--artifact-policy retargettomlflow db move-resourcesfor repointing experiment artifact roots (#24635, @gauthierpiarrette)generate_rationale_firstthroughmake_judge(#25002, @aaronteo-db)render_custom_viewin Assistant (#24796, @aaronteo-db)Bug fixes:
update_webhookcalls (#25509, @CoralGarden52)DatasetRecordSourceType.UNSPECIFIEDdataset record sources (#25230, @2sumtech)IndexErrorinmerge_recordsafterto_dict/to_dfon emptyEvaluationDataset(#25498, @TomeHirata)update_webhookcalls (#24842, @abligail)search_logged_modelsquoted-value parsing and invalid-operator message (#25398, @VenishPaneliya)@mlflow/openaiChat Completion spans open during streaming (#25416, @copilot-swe-agent)MLFLOW_ENABLE_REMOTE_ASSISTANT=true(#25394, @TomeHirata)traceIdquery param in trace navigation links (#25375, @NJAHNAVI2907)(name, options)provider entries (#25310, @rrioh)SpanBatcherfrom the trace flush paths so UC-table spans are exported (#25260, @alekseevpavel04)RunsChartsConfigureModal(#25283, @DaoDaoNoCode)openaiautolog (#24618, @adamgurary)entry_point.getLogger()when unavailable in dynamic token config provider (#25207, @serena-ruan)log_spans()from the async event loop (#25185, @HumairAK)configure_autologging_for_evaluationconfiguring the wrong flavor (#25135, @Koustav-github)OpenInferenceTranslator(#25039, @felix-xsenda)SearchUtils._get_valuefrom silently dropping dataset IN clause values (#25045, @kaikaila)python:3.10-slim-bullseyetopython:3.11-slim-trixie(#24961, @mille-printemps)torch_dtypedeprecation warnings on load and save paths (#25017, @rrioh)log_batchduplicate-metric recovery inSqlAlchemyStoreby batch size (#24683, @jayceguo)pydantic-ai-slimversion detection in autologging (#24959, @jiahao6635)logger.warning(#22040, @adamgurary)CompareRunPageto avoid one request per run (#24894, @daniellok-db)_configure_mlflow_loggers(#24957, @aaronteo-db)test_search_traces_yields_expected_dataframe_contentsby flushing before snapshotting (#24996, @harupy)mlflow.pydantic_ai.autolog(#23052, @JasonPan)get_tracewith a plain ID (#24700, @aishdbx)linkage_typein gateway model configs instead of returning 500 (#24664, @KunalBharadwaj)torch_dtypedeprecation warning on transformers model load (#24929, @serena-ruan)eu/usmulti-region endpoints in gateway provider (#24932, @aaronteo-db)ActiveRunoutputs (#21855, @daniellok-db)databricks.sdkin Databricks to avoid telemetry deadlock (#24841, @aaronteo-db)is_flavor_supported_for_associated_package_versionswhen flavor module is not installed (#24846, @adamgurary)RunsChartsDraggableCardsGridSection(#24012) (#24424, @Alwaysgaurav1)claude_codeprovider exceeding Windowscmd.execommand-line limit (#24440, @joshuawong-db)Documentation updates:
docker/README.md(#25474, @CoralGarden52)Chart.appVersionfor the Helm example image (#25458, @CoralGarden52)detect-issues.mdx(#25386, @copilot-swe-agent)Small bug fixes and documentation updates:
#25558, #25553, #25392, #25421, #25407, #24828, #25295, #25249, #25055, #24827, @joshuawong-db; #25547, #25127, #24884, #25501, #24714, #24913, #24879, @B-Step62; #25544, #25542, #25540, #25538, #25537, #25534, #25531, #25530, #25506, #25466, #25436, #25408, #25405, #25390, #25320, #25256, #25023, #25014, #24993, #24992, #24988, #24986, #24955, #24872, #24855, #24856, @copilot-swe-agent; #25545, #25502, #25486, #25485, #25482, #25481, #25478, #25475, #25468, #25467, #25464, #25462, #25461, #25465, #25457, #25456, #25452, #25450, #25447, #25446, #25443, #25437, #25430, #25432, #25423, #25429, #25409, #25420, #25417, #25419, #25401, #25404, #25402, #25396, #25393, #25368, #25358, #25346, #25344, #25343, #25342, #25341, #25339, #25338, #25337, #25335, #25334, #25325, #25316, #25312, #25277, #25276, #25252, #25165, #25163, #25162, #25161, #25160, #25159, #25158, #25156, #25154, #25153, #25152, #25144, #25142, #25124, #25122, #25117, #25109, #25110, #25106, #25103, #25100, #25099, #25096, #25090, #25092, #25091, #25088, #25048, #25047, #25042, #25041, #25037, #25030, #25032, #25031, #25029, #25022, #24996, #24991, #24990, #24987, #24982, #24980, #24977, #24978, #24975, #24974, #24973, #24972, #24971, #24970, #24968, #24966, #24965, #24910, #24908, #24922, #24911, #24909, #24901, #24866, #24874, #24853, #24840, #24839, #24834, #24791, #24751, #24770, @harupy; #25533, #25528, #25305, #25304, #25302, #25296, #25222, @kriscon-db; #25412, #25309, @IgorShishkin12; #25520, #25519, #25015, #24945, #24943, #24944, #24902, #24904, #24905, #24903, @dependabot; #25081, #24880, #24802, @mprahl; #25505, #25500, #25480, #25379, #25360, #25351, #24754, @TomeHirata; #25477, #25459, @CoralGarden52; #25180, @miyakido; #25369, @d0w; #25400, @ArrayPD; #25391, #25329, #25104, [@tanghaoji](https:
Configuration
📅 Schedule: (UTC)
🚦 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 this update again.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.