XML External Entity (XXE) Injection
Concept
Vulnerable Scenario
Example Code (Vulnerable)
from flask import Flask, request
from lxml import etree
app = Flask(__name__)
@app.route('/parse', methods=['POST'])
def parse_xml():
xml_data = request.get_data()
parser = etree.XMLParser()
tree = etree.fromstring(xml_data, parser)
# Process the parsed XML data
# ...
return "XML parsed successfully"Explanation
Prevention
Example Code (Secure)
Conclusion
Semgrep Rule
Last updated