Kedro Datasets
Monthly
Absolute plot names passed to MatplotlibDataset.save() in kedro-datasets 9.3.0 through 9.6.0 let an authenticated user with the ability to influence plot-name keys write files outside the configured dataset directory, overwriting or creating files anywhere the Kedro process has write access. The flaw is rooted in validate_sub_path(), which strips leading slashes before validation, combined with pathlib join semantics that discard the base path whenever the supplied sub-path is absolute (POSIX '/outside.png', Windows 'C:\\outside.png', or UNC '\\\\server\\share\\outside.png'). Integrity impact is rated High (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N; CVSS 4.0 base 7.1), no public exploit code has been identified at time of analysis, and no CISA KEV entry exists; exploitability is gated by the attacker's ability to inject the plot-name keys (e.g., through untrusted input data or catalog configuration) and by the write permissions of the process running Kedro.
Absolute plot names passed to MatplotlibDataset.save() in kedro-datasets 9.3.0 through 9.6.0 let an authenticated user with the ability to influence plot-name keys write files outside the configured dataset directory, overwriting or creating files anywhere the Kedro process has write access. The flaw is rooted in validate_sub_path(), which strips leading slashes before validation, combined with pathlib join semantics that discard the base path whenever the supplied sub-path is absolute (POSIX '/outside.png', Windows 'C:\\outside.png', or UNC '\\\\server\\share\\outside.png'). Integrity impact is rated High (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N; CVSS 4.0 base 7.1), no public exploit code has been identified at time of analysis, and no CISA KEV entry exists; exploitability is gated by the attacker's ability to inject the plot-name keys (e.g., through untrusted input data or catalog configuration) and by the write permissions of the process running Kedro.