Skip to content

fix(security): bump mlflow-skinny to clear Snyk critical/high findings#30046

Merged
mohittilala merged 5 commits into
mainfrom
security/bump-mlflow-skinny-snyk
Jul 17, 2026
Merged

fix(security): bump mlflow-skinny to clear Snyk critical/high findings#30046
mohittilala merged 5 commits into
mainfrom
security/bump-mlflow-skinny-snyk

Conversation

@Khairajani

@Khairajani Khairajani commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Fix #30100

What

The Snyk ingestion-dep-scan (security-scan workflow) flags mlflow-skinny 3.12.0 — the only Python-dependency finding in the ingestion scan:

Severity CVE Issue Fixed in
Critical CVE-2026-2635 Use of Default Credentials 3.13.0
High CVE-2026-8147 Missing Authorization 3.13.0

Lifts the connector-extra window mlflow-skinny>=3.11.1,<3.13>=3.13.0,<3.15 (resolves to stable 3.14.0; no release-candidate). This mirrors the prior Snyk-driven bump in #28501.

Collate inherits this via the OSS mlflow extra — no separate Collate change needed.

Verification

pip install --dry-run "mlflow-skinny>=3.13.0,<3.15" resolves cleanly to 3.14.0 (exit 0, no conflicts).

Scope note

This clears the Python-dependency portion of the ingestion security-scan. The remaining ingestion scan findings are Debian base-image OS CVEs (zlib, openexr, cups, expat, libarchive, tiff, …) in apache/airflow:3.2.1-python3.1038 of 41 have no upstream fix available, so they are out of scope here and require a base-image refresh (or a Snyk ignore policy) rather than a dependency bump.

Greptile Summary

This PR updates the MLflow ingestion extra to use a fixed mlflow-skinny range.

  • Raises mlflow-skinny from >=3.11.1,<3.13 to >=3.13.0,<3.15.
  • Updates the dependency comment to reference the newer CVE fixes.
  • Keeps the earlier minimum-version protection for the temporary-directory CVE.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
ingestion/setup.py Updates the optional MLflow ingestion dependency range and the related security comment.

Reviews (5): Last reviewed commit: "Merge branch 'main' into security/bump-m..." | Re-trigger Greptile

Context used (3)

  • Context used - CLAUDE.md (source)
  • Context used - openmetadata-ui-core-components/CLAUDE.md (source)
  • Context used - AGENTS.md (source)

The Snyk ingestion dependency scan flags mlflow-skinny 3.12.0:
- CVE-2026-2635 (critical) — Use of Default Credentials
- CVE-2026-8147 (high)     — Missing Authorization

Both are fixed in the stable 3.13.0 release. Lift the window from
>=3.11.1,<3.13 to >=3.13.0,<3.15 (resolves to 3.14.0), matching the
established pattern of bumping this connector-extra pin for Snyk findings.
@Khairajani
Khairajani requested a review from a team as a code owner July 14, 2026 13:47
@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

✅ PR checks passed

The linked issue has a description and all required Shipping project fields set. Thanks!

@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@Khairajani Khairajani added the safe to test Add this label to run secure Github workflows on PRs label Jul 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The Python checkstyle failed.

Please run make py_format and py_format_check in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Python code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

@github-actions

github-actions Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

🔴 Playwright Results — 2 failure(s), 27 flaky

✅ 4538 passed · ❌ 2 failed · 🟡 27 flaky · ⏭️ 96 skipped

Shard Passed Failed Flaky Skipped
🟡 Shard 1 438 0 2 16
✅ Shard 2 11 0 0 0
🟡 Shard 3 823 0 9 8
🟡 Shard 4 819 0 2 18
🟡 Shard 5 838 0 2 5
🟡 Shard 6 785 0 3 46
🔴 Shard 7 824 2 9 3

Genuine Failures (failed on all attempts)

Features/AutoPilot.spec.ts › Create Service and check the AutoPilot status (shard 7)
Error: �[2mexpect(�[22m�[31mlocator�[39m�[2m).�[22mtoBeVisible�[2m(�[22m�[2m)�[22m failed

Locator: getByText('AutoPilot agents run completed successfully.')
Expected: visible
Timeout: 60000ms
Error: element(s) not found

Call log:
�[2m  - Expect "toBeVisible" with timeout 60000ms�[22m
�[2m  - waiting for getByText('AutoPilot agents run completed successfully.')�[22m

Pages/Glossary.spec.ts › Approve and reject glossary term from Glossary Listing (shard 7)
�[31mTest timeout of 180000ms exceeded.�[39m
🟡 27 flaky test(s) (passed on retry)
  • Pages/Lineage/LineageRightPanel.spec.ts › Verify custom properties tab IS visible for supported type: metric (shard 1, 1 retry)
  • Pages/SearchSettings.spec.ts › Latest preview config wins when a superseded request resolves late (shard 1, 1 retry)
  • Features/BulkImportWithDotInName.spec.ts › Full import cycle with dot in service name (shard 3, 1 retry)
  • Features/ColumnBulkOperations.spec.ts › should show Service filter chip from URL (shard 3, 1 retry)
  • Features/ColumnBulkOperations.spec.ts › should navigate through pages (shard 3, 1 retry)
  • Features/ContextCenterArchive.spec.ts › archive page lazy-loads more rows on scroll within its own scroll container (shard 3, 1 retry)
  • Features/ContextCenterArticles.spec.ts › Article listing search filters, clears, and shows empty state (shard 3, 1 retry)
  • Features/ContextCenterArticles.spec.ts › Text formatting (shard 3, 1 retry)
  • Features/ContextCenterDocument.spec.ts › Upload File button opens upload modal with correct title and hint (shard 3, 1 retry)
  • Features/ContextCenterMemories.spec.ts › Shared memory shows the shared-with-specific-people description (shard 3, 1 retry)
  • Features/ContextCenterPermission.spec.ts › a document archived by a different user can be permanently deleted, via the UI, by a user with Delete permission (shard 3, 2 retries)
  • Features/Glossary/GlossaryTermRelationsGraphNested.spec.ts › viewing a child term: parent appears as a 1-hop neighbour via parentOf edge (shard 4, 1 retry)
  • Features/Table.spec.ts › should persist page size (shard 4, 1 retry)
  • Flow/PersonaFlow.spec.ts › Set default persona for team should work properly (shard 5, 1 retry)
  • Pages/CustomProperties.spec.ts › Sql Query (shard 5, 1 retry)
  • Pages/Entity.spec.ts › Tier Add, Update and Remove (shard 6, 1 retry)
  • Pages/ExploreBrowse.spec.ts › service type drill-down disables unrelated roots and query-panel Clear resets it (shard 6, 1 retry)
  • Pages/ExplorePageRightPanel_KnowledgeCenter.spec.ts › Should remove user owner for knowledgeCenter (shard 6, 1 retry)
  • Pages/ExplorePageRightPanel.spec.ts › Should allow Data Steward to edit glossary terms for searchIndex (shard 7, 1 retry)
  • Pages/Glossary.spec.ts › Drag and Drop Glossary Term (shard 7, 1 retry)
  • Pages/GlossaryFormValidation.spec.ts › should show error when glossary description is empty (shard 7, 1 retry)
  • Pages/GlossaryImportExport.spec.ts › Glossary Bulk Import Export (shard 7, 1 retry)
  • Pages/InputOutputPorts.spec.ts › Output ports section collapse/expand (shard 7, 1 retry)
  • Pages/Lineage/LineageFilters.spec.ts › Verify Impact Analysis service filter selection (shard 7, 1 retry)
  • Pages/Lineage/LineageRightPanel.spec.ts › Verify custom properties tab is NOT visible for pipelineService in platform lineage (shard 7, 1 retry)
  • Pages/Lineage/LineageRightPanel.spec.ts › Verify custom properties tab is NOT visible for apiService in platform lineage (shard 7, 1 retry)
  • Pages/TestSuite.spec.ts › Logical TestSuite (shard 7, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

ruff format wrapped the inline comment past line-length; move the CVE
rationale above the pin so the line stays short, and update the stale
`>=3.11.1` note to reflect the new `>=3.13.0` floor.
@sonarqubecloud

Copy link
Copy Markdown

@mohittilala mohittilala self-assigned this Jul 17, 2026
@mohittilala mohittilala added To release Will cherry-pick this PR into the release branch Ingestion vulnerabilities labels Jul 17, 2026
@mohittilala
mohittilala merged commit fecba23 into main Jul 17, 2026
149 of 159 checks passed
@mohittilala
mohittilala deleted the security/bump-mlflow-skinny-snyk branch July 17, 2026 01:46
@github-actions

Copy link
Copy Markdown
Contributor

Failed to cherry-pick changes to the 1.13 branch.
Please cherry-pick the changes manually.
You can find more details here.

@gitar-bot

gitar-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Bumps the mlflow-skinny dependency version to 3.14.0 to remediate critical and high CVEs identified by Snyk. No issues were found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

mohittilala pushed a commit that referenced this pull request Jul 17, 2026
#30046)

* fix(security): bump mlflow-skinny to clear Snyk critical/high findings

The Snyk ingestion dependency scan flags mlflow-skinny 3.12.0:
- CVE-2026-2635 (critical) — Use of Default Credentials
- CVE-2026-8147 (high)     — Missing Authorization

Both are fixed in the stable 3.13.0 release. Lift the window from
>=3.11.1,<3.13 to >=3.13.0,<3.15 (resolves to 3.14.0), matching the
established pattern of bumping this connector-extra pin for Snyk findings.

* style(ingestion): run make py_format; refresh mlflow pin comment

ruff format wrapped the inline comment past line-length; move the CVE
rationale above the pin so the line stays short, and update the stale
`>=3.11.1` note to reflect the new `>=3.13.0` floor.
@mohittilala

Copy link
Copy Markdown
Contributor

Manually cherry-picked to 1.12.14 36928d1

mohittilala pushed a commit that referenced this pull request Jul 17, 2026
#30046)

* fix(security): bump mlflow-skinny to clear Snyk critical/high findings

The Snyk ingestion dependency scan flags mlflow-skinny 3.12.0:
- CVE-2026-2635 (critical) — Use of Default Credentials
- CVE-2026-8147 (high)     — Missing Authorization

Both are fixed in the stable 3.13.0 release. Lift the window from
>=3.11.1,<3.13 to >=3.13.0,<3.15 (resolves to 3.14.0), matching the
established pattern of bumping this connector-extra pin for Snyk findings.

* style(ingestion): run make py_format; refresh mlflow pin comment

ruff format wrapped the inline comment past line-length; move the CVE
rationale above the pin so the line stays short, and update the stale
`>=3.11.1` note to reflect the new `>=3.13.0` floor.
@mohittilala

Copy link
Copy Markdown
Contributor

Manually cherry-picked to 1.13 for 1.13.2 8ea4693

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ingestion safe to test Add this label to run secure Github workflows on PRs To release Will cherry-pick this PR into the release branch vulnerabilities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ingestion: Synk improvement MLFLOW

2 participants