Security Advisories (2)
CVE-2025-11683 (2025-10-16)

YAML::Syck versions before 1.36 for Perl has missing null-terminators which causes out-of-bounds read and potential information disclosure Missing null terminators in token.c leads to but-of-bounds read which allows adjacent variable to be read The issue is seen with complex YAML files with a hash of all keys and empty values. There is no indication that the issue leads to accessing memory outside that allocated to the module.

CVE-2026-4177 (2026-03-16)

YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter. The heap overflow occurs when class names exceed the initial 512-byte allocation. The base64 decoder could read past the buffer end on trailing newlines. strtok mutated n->type_id in place, corrupting shared node data. A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.

NAME

ExtUtils::HasCompiler - Check for the presence of a compiler

VERSION

version 0.021

SYNOPSIS

use ExtUtils::HasCompiler 'can_compile_extension';
if (can_compile_extension()) {
  ...
}
else {
  ...
}

DESCRIPTION

This module tries to check if the current system is capable of compiling, linking and loading an XS module.

Notice: this is an early release, interface stability isn't guaranteed yet.

FUNCTIONS

can_compile_loadable_object(%opts)

This checks if the system can compile, link and load a perl loadable object. It may take the following options:

  • quiet

    Do not output the executed compilation commands.

  • config

    An ExtUtils::Config (compatible) object for configuration.

  • skip_load

    This causes can_compile_loadable_object to not try to load the generated object. This defaults to true on a cross-compiling perl.

can_compile_static_library(%opts)

This checks if the system can compile and link a perl static library. It does not check it it can compile a new perl with it. It may take the following options:

  • quiet

    Do not output the executed compilation commands.

  • config

    An ExtUtils::Config (compatible) object for configuration.

can_compile_extension(%opts)

This will call either can_compile_loadable_object, or can_compile_static_library, depending on which is the default on your configuration. In addition to the arguments listed above, it can take one more optional argument:

  • linktype

    This will force the linktype to be either static or dynamic. Dynamic compilation on a static perl won't work, but static libraries can be viable on a dynamic perl.

AUTHOR

Leon Timmermans <leont@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.