Adding a new property,
http://apache.org/xml/properties/security-manager, with appropriate getSecurityManager/setSecurityManager methods on DOM and SAX parsers. Also adding a new SecurityManager class. The purpose of these modifications is to permit applications a means to have the parser reject documents whose processing would otherwise consume large amounts of system resources. Malicious use of such documents could be used to launch a denial-of-service attack against a system running the parser. Initially, the SecurityManager only knows about attacks that can result from exponential entity expansion; this is the only known attack that involves processing a single XML document. Other, simlar attacks can be launched if arbitrary schemas may be parsed; there already exist means (via use of the EntityResolver interface) by which applications can deny processing of untrusted schemas. In future, the SecurityManager will be expanded to take these other exploits into account. git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174904 13f79535-47bb-0310-9956-ffa450edef68
Showing
- src/xercesc/parsers/AbstractDOMParser.cpp 16 additions, 1 deletionsrc/xercesc/parsers/AbstractDOMParser.cpp
- src/xercesc/parsers/AbstractDOMParser.hpp 36 additions, 1 deletionsrc/xercesc/parsers/AbstractDOMParser.hpp
- src/xercesc/parsers/DOMBuilderImpl.cpp 7 additions, 1 deletionsrc/xercesc/parsers/DOMBuilderImpl.cpp
- src/xercesc/parsers/SAX2XMLReaderImpl.cpp 29 additions, 1 deletionsrc/xercesc/parsers/SAX2XMLReaderImpl.cpp
- src/xercesc/parsers/SAX2XMLReaderImpl.hpp 24 additions, 1 deletionsrc/xercesc/parsers/SAX2XMLReaderImpl.hpp
- src/xercesc/parsers/SAXParser.cpp 38 additions, 1 deletionsrc/xercesc/parsers/SAXParser.cpp
- src/xercesc/parsers/SAXParser.hpp 58 additions, 1 deletionsrc/xercesc/parsers/SAXParser.hpp
- src/xercesc/util/Makefile.in 24 additions, 1 deletionsrc/xercesc/util/Makefile.in
- src/xercesc/util/SecurityManager.hpp 179 additions, 0 deletionssrc/xercesc/util/SecurityManager.hpp
- src/xercesc/util/XMLUni.cpp 16 additions, 1 deletionsrc/xercesc/util/XMLUni.cpp
- src/xercesc/util/XMLUni.hpp 2 additions, 1 deletionsrc/xercesc/util/XMLUni.hpp
Loading
Please register or sign in to comment