{"api_version":"1","generated_at":"2026-10-28T17:27:23+00:00","cve":"CVE-2026-116691","urls":{"html":"https://cve.report/CVE-2026-116691","api":"https://cve.report/api/cve/CVE-2026-116691.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-116691","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-116691"},"summary":{"title":"MLflow CrewAI autologging records LLM provider API keys in logged trace spans","description":"MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 2.19.0 until 3.17.0, mlflow.crewai.autolog() records CrewAI Agent objects without consistently sanitizing nested credential-bearing values. mlflow/crewai/autolog.py::_get_agent_attributes() converts the Agent llm field to a string that includes the provider API key, while mlflow/crewai/autolog.py::_construct_full_inputs() expands the Agent object into mlflow.spanInputs. Applications can therefore send plaintext provider credentials to the MLflow trace backend or a configured OTLP destination, where trace readers can obtain them. This issue is fixed in version 3.17.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-27 20:17:14","updated_at":"2026-10-28 15:21:31"},"problem_types":["CWE-200","CWE-312","CWE-532","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-312 CWE-312: Cleartext Storage of Sensitive Information","CWE-532 CWE-532: Insertion of Sensitive Information into Log File"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/mlflow/mlflow/security/advisories/GHSA-j7qq-vr8c-xvw3","name":"https://github.com/mlflow/mlflow/security/advisories/GHSA-j7qq-vr8c-xvw3","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/mlflow/mlflow/pull/25845","name":"https://github.com/mlflow/mlflow/pull/25845","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/mlflow/mlflow/commit/20927930d27f0072fcfeb7f024f24ad8c5e77c47","name":"https://github.com/mlflow/mlflow/commit/20927930d27f0072fcfeb7f024f24ad8c5e77c47","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/mlflow/mlflow/releases/tag/v3.17.0","name":"https://github.com/mlflow/mlflow/releases/tag/v3.17.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-116691","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116691","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"mlflow","product":"mlflow","version":"affected >= 2.19.0, < 3.17.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"mlflow","vendor":"mlflow","versions":[{"status":"affected","version":">= 2.19.0, < 3.17.0"}]}],"descriptions":[{"lang":"en","value":"MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 2.19.0 until 3.17.0, mlflow.crewai.autolog() records CrewAI Agent objects without consistently sanitizing nested credential-bearing values. mlflow/crewai/autolog.py::_get_agent_attributes() converts the Agent llm field to a string that includes the provider API key, while mlflow/crewai/autolog.py::_construct_full_inputs() expands the Agent object into mlflow.spanInputs. Applications can therefore send plaintext provider credentials to the MLflow trace backend or a configured OTLP destination, where trace readers can obtain them. This issue is fixed in version 3.17.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-200","description":"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-312","description":"CWE-312: Cleartext Storage of Sensitive Information","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-532","description":"CWE-532: Insertion of Sensitive Information into Log File","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-27T19:56:22.083Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/mlflow/mlflow/security/advisories/GHSA-j7qq-vr8c-xvw3","tags":["x_refsource_CONFIRM"],"url":"https://github.com/mlflow/mlflow/security/advisories/GHSA-j7qq-vr8c-xvw3"},{"name":"https://github.com/mlflow/mlflow/pull/25845","tags":["x_refsource_MISC"],"url":"https://github.com/mlflow/mlflow/pull/25845"},{"name":"https://github.com/mlflow/mlflow/commit/20927930d27f0072fcfeb7f024f24ad8c5e77c47","tags":["x_refsource_MISC"],"url":"https://github.com/mlflow/mlflow/commit/20927930d27f0072fcfeb7f024f24ad8c5e77c47"},{"name":"https://github.com/mlflow/mlflow/releases/tag/v3.17.0","tags":["x_refsource_MISC"],"url":"https://github.com/mlflow/mlflow/releases/tag/v3.17.0"}],"source":{"advisory":"GHSA-j7qq-vr8c-xvw3","discovery":"UNKNOWN"},"title":"MLflow CrewAI autologging records LLM provider API keys in logged trace spans"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-116691","datePublished":"2026-10-27T19:56:22.083Z","dateReserved":"2026-10-26T20:00:59.830Z","dateUpdated":"2026-10-27T19:56:22.083Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-27 20:17:14","lastModifiedDate":"2026-10-28 15:21:31","problem_types":["CWE-200","CWE-312","CWE-532","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-312 CWE-312: Cleartext Storage of Sensitive Information","CWE-532 CWE-532: Insertion of Sensitive Information into Log File"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"116691","Ordinal":"1","Title":"MLflow CrewAI autologging records LLM provider API keys in logge","CVE":"CVE-2026-116691","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"116691","Ordinal":"1","NoteData":"MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 2.19.0 until 3.17.0, mlflow.crewai.autolog() records CrewAI Agent objects without consistently sanitizing nested credential-bearing values. mlflow/crewai/autolog.py::_get_agent_attributes() converts the Agent llm field to a string that includes the provider API key, while mlflow/crewai/autolog.py::_construct_full_inputs() expands the Agent object into mlflow.spanInputs. Applications can therefore send plaintext provider credentials to the MLflow trace backend or a configured OTLP destination, where trace readers can obtain them. This issue is fixed in version 3.17.0.","Type":"Description","Title":"MLflow CrewAI autologging records LLM provider API keys in logge"}]}}}