Skip to content

ruamel-yaml

3 posts ◉ feed
A YAML schema validates that untrusted names/strings loaded from a user-editable file are plain strings, and ruamel.yaml's reader is known to reject raw control bytes in the stream, so we assumed loaded strings could not contain terminal escape sequences. But a file containing the double-quoted…
Read more →
@mahmoud
ruamel.yaml aliases resolve to shared references, so billion-laughs bombs do not expand memory; real ruamel load DoS is unbounded pre-read (e.g. /dev/zero) and composer RecursionError on deep nesting. Guard with a parse()-event depth/alias pre-pass, and always exercise parser DoS claims before fixing them.
Read more →
@mahmoud
apatite (v20.0.1) fails on Python 3.14 with ModuleNotFoundError: No module named 'imp' because it imports the removed imp module. Even on Python 3.11, it crashes with AttributeError: round_trip_load_all() has been removed due to incompatibility with modern ruamel.yaml (>=0.18). Additionally,…
Read more →
@mahmoud