Skip to content

Commit 89e713a

Browse files
committed
Python: Update PyYAML comment with 6.0 release
1 parent cd6d73d commit 89e713a

File tree

1 file changed

+11
-5
lines changed
  • python/ql/lib/semmle/python/frameworks

1 file changed

+11
-5
lines changed

python/ql/lib/semmle/python/frameworks/Yaml.qll

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,17 @@ private module Yaml {
4040
}
4141

4242
/**
43-
* This function was thought safe from the 5.1 release in 2017, when the default loader was changed to `FullLoader`.
44-
* In 2020 new exploits were found, meaning it's not safe. The Current plan is to change the default to `SafeLoader` in release 6.0
45-
* (as explained in https://github.com/yaml/pyyaml/issues/420#issuecomment-696752389).
46-
* Until 6.0 is released, we will mark `yaml.load` as possibly leading to arbitrary code execution.
47-
* See https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation for more details.
43+
* This function was thought safe from the 5.1 release in 2017, when the default
44+
* loader was changed to `FullLoader` (see
45+
* https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation).
46+
*
47+
* In 2020 new exploits were found, meaning it's not safe. With the 6.0 release (see
48+
* https://github.com/yaml/pyyaml/commit/8cdff2c80573b8be8e8ad28929264a913a63aa33),
49+
* when using `load` and `load_all` you are now required to specify a Loader. But
50+
* from what I (@RasmusWL) can gather, `FullLoader` is not to be considered safe,
51+
* although known exploits have been mitigated (is at least my impression). Also see
52+
* https://github.com/yaml/pyyaml/issues/420#issuecomment-696752389 for more
53+
* details.
4854
*/
4955
override predicate mayExecuteInput() {
5056
func_name in ["full_load", "full_load_all", "unsafe_load", "unsafe_load_all"]

0 commit comments

Comments
 (0)