Bug ID |
8449
|
Summary |
(Untriggerable) memory corruption in packet-sqloracle.c
|
Classification |
Unclassified
|
Product |
Wireshark
|
Version |
SVN
|
Hardware |
x86
|
OS |
All
|
Status |
UNCONFIRMED
|
Severity |
Minor
|
Priority |
Low
|
Component |
Capture file support (libwiretap)
|
Assignee |
[email protected]
|
Reporter |
[email protected]
|
Build Information:
--
File: packet-sqloracle.c
Untriggerable memory corruption.
This dissector is not currently enabled. That turns this into a relatively
harmless bug. It would otherwise be a memory corruption bug.
I am reporting this in the event that this code becomes enabled in the future.
The vulnerability is caused by a tvb_memcpy of all data in a tvbuffer into a
fixed-size buffer stored on the stack. Packets larger than 1024 bytes will
trigger the buffer oveflow.
dissect_sqloracle
...
header_operation = tvb_get_guint8(tvb, offset);
dataLen = tvb_reported_length_remaining(tvb, offset);
if (header_operation != NET8_TYPE_FUNCCOMPLETE)
func_type = tvb_get_guint8(tvb, offset+1);
...
switch (header_operation){
{
case NET8_TYPE_USERTOSERVER: /* 0x3 */
...
switch (func_type)
{
case NET8_USER_FUNC_PARSE:
ParseCommand(sqloracle_tree,tvb,offset+0x0B,pinfo,dataLen-0x0B);
}
static gboolean ParseCommand(..., UI16_T dataLen){
UI8_T pAddress[1024];
UI16_T SQLDataLen = dataLen;
int i;
for (i=0; i<1024;i++)
{
pAddress[i] = '\0';
}
tvb_memcpy (tvb, pAddress,offset, dataLen);
....
}
You are receiving this mail because:
- You are watching all bug changes.