Skip to content

Commit 6e1f96d

Browse files
committed
gh-148954: add tests for methodname sanitization in dumps()
1 parent 4e67dfd commit 6e1f96d

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

Lib/test/test_xmlrpc.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,15 @@ def test_dump_encoding(self):
208208
self.assertEqual(xmlrpclib.loads(strg)[0][0], value)
209209
self.assertEqual(xmlrpclib.loads(strg)[1], methodname)
210210

211+
def test_methodname_sanitization(self):
212+
# gh-148954: test that methodname is sanitized in dumps()
213+
payload = 'foo</methodName><injected attr="evil"/><methodName>bar'
214+
s = xmlrpclib.dumps((), methodname=payload)
215+
self.assertIn('<methodName>foo&lt;/methodName&gt;&lt;injected attr="evil"/&gt;&lt;methodName&gt;bar</methodName>', s)
216+
self.assertNotIn('<injected attr="evil"/>', s)
217+
load, m = xmlrpclib.loads(s)
218+
self.assertEqual(m, payload)
219+
211220
def test_dump_bytes(self):
212221
sample = b"my dog has fleas"
213222
self.assertEqual(sample, xmlrpclib.Binary(sample))

0 commit comments

Comments
 (0)