Bug 451828 (CVE-2008-2726)
| Summary: | CVE-2008-2726 ruby: integer overflow in rb_ary_splice/update/replace() - beg + rlen | ||
|---|---|---|---|
| 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: | kreilly, tagoh |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | 1.8.6.230-1.fc9 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2008-07-26 06:02:47 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: | 451926, 451927, 451928, 451929, 451930, 451931, 452293, 452294, 452295 | ||
| Bug Blocks: | |||
Drew Yao's proposed patch is the same as for CVE-2008-2725: https://bugzilla.redhat.com/show_bug.cgi?id=451821#c1 Public now, lifting embargo: http://preview.ruby-lang.org/en/news/2008/06/20/arbitrary-code-execution-vulnerabilities Upstream released fixed versions: 1.8.5-p231, 1.8.6-p230, 1.8.7-p22, 1.9.0-2 Patches applied upstream: http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=17460 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=17472 ruby-1.8.6.230-1.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report. ruby-1.8.6.230-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report. *** Bug 451836 has been marked as a duplicate of this bug. *** This issue was addressed in: Red Hat Enterprise Linux: http://rhn.redhat.com/errata/RHSA-2008-0561.html http://rhn.redhat.com/errata/RHSA-2008-0562.html Fedora: https://admin.fedoraproject.org/updates/F8/FEDORA-2008-5649 https://admin.fedoraproject.org/updates/F9/FEDORA-2008-5664 |
Drew Yao of the Apple Product Security team reported an integer overflow leading to a bypass of memory re-allocation causing a heap overflow in the rb_ary_splice() function used by ruby interpreter for handling arrays. Problematic addition that may overflow: if (beg >= RARRAY(ary)->len) { --> len = beg + rlen; if (len >= RARRAY(ary)->aux.capa) { REALLOC_N(RARRAY(ary)->ptr, VALUE, len); The addition may overflow causing len to be negative and due to that, REALLOC_N is not called. This flaw can be used to crash and possibly execute arbitrary code with the privileges of Ruby application which use untrusted input in array operations. Acknowledgements: Red Hat would like to thank Drew Yao of the Apple Product Security team for reporting this issue.