Challenge Checker
PyYAML deserialisation vulnerability (CVE-2020-14343).
Challenge Checker 1
We are prompted to paste in YAML data. We can see from the code that yaml.load()
is used to load the data.
There exists a deserialization exploit in PyYAML that was only fixed in version 5.4.1.
Issue: https://github.com/yaml/pyyaml/issues/420 GitHub Advisory (CVE-2020-14343): https://github.com/advisories/GHSA-8q59-q68h-6hv4
We can see from requirements.txt
that the version is 3.13, which is vulnerable.
From the GitHub issue, we can find some of the proof of concept exploits. For instance:
So, in the chall.yaml
, I simply added this PoC under authors:
This executes print(open('flag.txt').read())
and reads the flag.
Challenge Checker 2
The only change is that PyYAML is now version 5.3.1.
But the exploit we used previously affected all versions below 5.4.1, so it works here too.
Last updated
Was this helpful?