by @LeSuisse Activity log
- Created suggestion
- @LeSuisse accepted
- @LeSuisse published on GitHub
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read
YAML::Syck versions before 1.38 for Perl has an out-of-bounds read. The base60 (sexagesimal) parsing code in perl_syck.h has a buffer underflow bug in both int#base60 and float#base60 handlers. When processing the leftmost segment of a colon-separated value (e.g., the 1 in 1:30:45), the inner while loop can decrement a pointer past the start of the string buffer: while ( colon >= ptr && *colon != ':' ) { colon--; } if ( *colon == ':' ) *colon = '\0'; // colon may be ptr-1 here When no colon is found (final/leftmost segment), colon becomes ptr-1, and the subsequent *colon dereference reads one byte before the allocated buffer.
References
-
https://github.com/cpan-authors/YAML-Syck/issues/132 issue-tracking
-
https://github.com/cpan-authors/YAML-Syck/pull/133 issue-tracking
Affected products
- <1.38
Matching in nixpkgs
pkgs.perlPackages.YAMLSyck
Fast, lightweight YAML loader and dumper
pkgs.perl5Packages.YAMLSyck
Fast, lightweight YAML loader and dumper
pkgs.perl538Packages.YAMLSyck
Fast, lightweight YAML loader and dumper
pkgs.perl540Packages.YAMLSyck
Fast, lightweight YAML loader and dumper