Security Advisories (3)
CVE-2015-3451 (2015-04-23)

The _clone function does not properly set the expand_entities option, which allows remote attackers to conduct XML external entity (XXE) attacks via crafted XML data to the (1) new or (2) load_xml function.

CVE-2017-10672 (2015-04-23)

Use-after-free in the XML-LibXML module through 2.0129 for Perl allows remote attackers to execute arbitrary code by controlling the arguments to a replaceChild call.

CVE-2026-8177 (2026-05-10)

XML::LibXML versions through 2.0210 for Perl read out-of-bounds heap memory when parsing XML node names containing truncated UTF-8 byte sequences. A node name ending in the middle of a multi byte UTF-8 sequence causes the parser to read past the end of the input string into adjacent heap memory. Any Perl process that passes attacker controlled strings to XML::LibXML's DOM node-name methods can reach this path on the default API. The likely consequence is a crash, causing denial of service.

NAME

XML::LibXML::Attr - XML::LibXML Attribute Class

SYNOPSIS

$attr = XML::LibXML::Attr->new($name [,$value]);
$string = $attr->getValue();
$value = $attr->value;
$attr->setValue( $string );
$node = $attr->getOwnerElement();
$attr->setNamespace($nsURI, $prefix);

DESCRIPTION

This is the interface to handle Attributes like ordinary nodes. The naming of the class relies on the W3C DOM documentation.

new
$attr = XML::LibXML::Attr->new($name [,$value]);

Class constructor. If you need to work with iso encoded strings, you should always use the createAttrbute of XML::LibXML::Document.

getValue
$string = $attr->getValue();

Returns the value stored for the attribute. If undef is returned, the attribute has no value, which is different of being not specified.

value
$value = $attr->value;

Alias for getValue()

setValue
$attr->setValue( $string );

This is needed to set a new attribute value. If iso encoded strings are passed as parameter, the node has to be bound to a document, otherwise the encoding might be done incorrectly.

getOwnerElement
$node = $attr->getOwnerElement();

returns the node the attribute belongs to. If the attribute is not bound to a node, undef will be returned. Overwriting the underlying implementation, the parentNode function will return undef, instead of the owner element.

setNamespace
$attr->setNamespace($nsURI, $prefix);

This function activates a namespace for the given attribute. If the attribute was not previously declared in the context of the attribute this function will be silently ignored. In this case you may wish to call setNamespace() on the ownerElement.

AUTHORS

Matt Sergeant, Christian Glahn, =head1 VERSION

1.57

COPYRIGHT

2001-2004, AxKit.com Ltd; 2002-2004 Christian Glahn, All rights reserved.