Challenge Checker
PyYAML deserialisation vulnerability (CVE-2020-14343).
Last updated
Was this helpful?
PyYAML deserialisation vulnerability (CVE-2020-14343).
Last updated
Was this helpful?
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: GitHub Advisory (CVE-2020-14343):
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.
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.