Bug 930503 (CVE-2015-3182) - VUL-1: CVE-2015-3182: wireshark: dec-dnart dissector could crash
Summary: VUL-1: CVE-2015-3182: wireshark: dec-dnart dissector could crash
Status: RESOLVED DUPLICATE of bug 930689
Alias: CVE-2015-3182
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P4 - Low : Minor
Target Milestone: ---
Assignee: Chunyan Liu
QA Contact: Security Team bot
URL:
Whiteboard: CVSSv2:NVD:CVE-2015-3182:4.3:(AV:N/A...
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-12 07:55 UTC by Andreas Stieger
Modified: 2019-05-01 16:47 UTC (History)
1 user (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
crasher from http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=genbroad.snoop (28.87 KB, application/octet-stream)
2015-05-12 07:55 UTC, Andreas Stieger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Stieger 2015-05-12 07:55:03 UTC
Created attachment 633907 [details]
crasher from http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=genbroad.snoop

We normally get these from the wireshark advisories, but here we go:
https://bugzilla.suse.com/show_bug.cgi?id=930078

It was found that Wireshark crashes when processing (with "tshark -nr genbroad.snoop") a same file from the Wireshark wiki page:

wget 'http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=genbroad.snoop' -O genbroad.snoop

Additional details:

* crash reason: strlen() called on invalid pointer (value 0x56998680 == 1452902016)
* the function set_dnet_address at packet-dec-dnart.c:355
* it is called 4 times
* the 2nd time is the one when the value is set
* the variable is called addr in the context of /epan/dissectors/packet-dec-dnart.c:357, function set_dnet_address
* the variable is called pinfo->src->data in the upper frames
* in this function, this macro modifies the value:
SET_ADDRESS(paddr_tgt, AT_STRINGZ, 1,
wmem_strdup(pinfo->pool, addr));
* it should set paddr_tgt->data = addr, but the value gets garbled by the ctlq instruction:
..
|0x7ffff4d85522 dnet_address+50> callq 0x7ffff4b0d4b0 <wmem_strdup@plt>
|0x7ffff4d85527 dnet_address+55> cltq
..

Acknowledgements:
This issue was discovered by Martin Žember of Red Hat.

CVE request:
http://seclists.org/oss-sec/2015/q2/408


Dear maintainer, no submission is required just now - Waiting for upstream release / advisory.
Comment 1 Sebastian Krahmer 2015-05-12 08:01:11 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=1219409
Comment 3 Swamp Workflow Management 2015-05-12 22:00:16 UTC
bugbot adjusting priority
Comment 4 Chunyan Liu 2015-06-02 03:20:16 UTC
This CVE has been resolved with new version. (see bnc#930689 and #930691)

*** This bug has been marked as a duplicate of bug 930689 ***