*** This bug is a security vulnerability ***
You have been subscribed to a public security bug by Marc Deslauriers
(mdeslaur):
Binary package hint: python2.3-xml
It seems that pyexpat library causes crash in zope when parsing
malformed XML-RPC request. Since no authentication is required, this
results in DOS of zope on dapper. The same request to zope on hardy does
not cause a crash.
I haven't looked at the source, so there is also a chance, that the real
cause is invalid usage of the library.
XML from request:
<?xml
version="1.0"?><methodCall><methodName>/xdsfads</methodName><params><param><vaƬue></value></param></params></methodCall>
Xml from request (base64):
PD94bWwgdmVyc2lvbj0iMS4wIj8+PG1ldGhvZENhbGw+PG1ldGhvZE5hbWU+L3hkc2ZhZHM8L21l
dGhvZE5hbWU+PHBhcmFtcz48cGFyYW0+PHZh7HVlPjwvdmFsdWU+PC9wYXJhbT48L3BhcmFtcz48
L21ldGhvZENhbGw+DQogICAgICAgICAgICAgICAgICAgICAgICAgIA0K
Crash occurs, when null pointer is handed over to python code:
(gdb) bt
#0 0x08077718 in PyDict_GetItem ()
#1 0xb7a2a4e0 in initpyexpat ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#2 0xb7a38a51 in XML_ParserReset ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#3 0xb7a3addf in XML_ParserReset ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#4 0xb7a35646 in XML_ParserReset ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#5 0xb7a3b55a in XML_ParserReset ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#6 0xb7a2d8c9 in XML_ParseBuffer ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#7 0xb7a2dcb5 in XML_Parse ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
#8 0xb7a285bf in initpyexpat ()
from /usr/lib/python2.3/site-packages/_xmlplus/parsers/pyexpat.so
(gdb) info registers
eax 0x8109c60 135306336
ecx 0x1 1
edx 0xb5ac4e2c -1246998996
ebx 0x0 0
esp 0xb3e1bf10 0xb3e1bf10
ebp 0xb3e1bf28 0xb3e1bf28
esi 0xb5b2602c -1246601172
edi 0x0 0
eip 0x8077718 0x8077718 <PyDict_GetItem+24>
eflags 0x200246 2097734
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
0x08077700 <PyDict_GetItem+0>: push %ebp
0x08077701 <PyDict_GetItem+1>: mov %esp,%ebp
0x08077703 <PyDict_GetItem+3>: push %esi
0x08077704 <PyDict_GetItem+4>: push %ebx
0x08077705 <PyDict_GetItem+5>: sub $0x10,%esp
0x08077708 <PyDict_GetItem+8>: mov 0x8(%ebp),%esi
0x0807770b <PyDict_GetItem+11>: mov 0xc(%ebp),%ebx -- get call arg to ebx
0x0807770e <PyDict_GetItem+14>: mov 0x4(%esi),%eax
0x08077711 <PyDict_GetItem+17>: cmp $0x8109c60,%eax
0x08077716 <PyDict_GetItem+22>: jne 0x8077752 <PyDict_GetItem+82>
0x08077718 <PyDict_GetItem+24>: cmpl $0x810ab00,0x4(%ebx) -- use ebx,
crash
ii python2.3-xml 0.8.4-1ubuntu4 XML tools for
Python (2.3.x)
Description: Ubuntu 6.06.2 LTS
Release: 6.06
** Affects: python2.3-xml (Ubuntu)
Importance: Undecided
Status: New
--
Segmentation fault when parsing malformed XML (null pointer dereference)
https://bugs.edge.launchpad.net/bugs/611731
You received this bug notification because you are a member of Ubuntu Bugs,
which is a direct subscriber.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs