Bug 440049 (CVE-2008-1552)
| Summary: | CVE-2008-1552 libsilc: buffer overflow in PKCS#1 message decoding | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Tomas Hoger <thoger> | ||||
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> | ||||
| Status: | CLOSED ERRATA | QA Contact: | |||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | unspecified | CC: | stu, toniw, wtogami | ||||
| Target Milestone: | --- | Keywords: | Security | ||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| URL: | http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-1552 | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2008-04-24 07:19:26 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 438382 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Tomas Hoger
2008-04-01 14:56:06 UTC
Commit in upstream GIT: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff;h=b36495161037e52ad993202da5d3df1837235d24 Fedora packages already fixed: https://admin.fedoraproject.org/updates/F7/FEDORA-2008-2616 https://admin.fedoraproject.org/updates/F8/FEDORA-2008-2641 Created attachment 303537 [details]
Upstream patch (for posterity)
We won't be fixing this issue for Red Hat Enterprise Linux 4 and 5.
This flaw can only result in the crash of the client (pidgin in this instance,
nothing else uses libsilc). The flaw in question results in the following code:
memcpy(dest_data, data + i, data_len - i);
Where (data_len - i) = -1, that results in memcpy trying to copy a huge amount
of memory, which will crash long before any arbitrary code execution is possible.
The crash is only possible if a client connects to a malicious server. As this
crash requires the user action to crash the application, we do not consider it
to be a security flaw.
Closing, based on comment #2 and comment #4. To clarify comment #4 a bit: When this flaw is exercised, (data_len - i) will always be -1, which means the memcpy call ends up being: memcpy(dest_data, data+i, -1) The size variable in this instance is of size_t type, which means this will translate into all addressable memory on the system. This makes the memcpy call impossible to return from. |