You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Valentin Mayamsin (JIRA)" <ji...@apache.org> on 2013/11/25 19:00:38 UTC

[jira] [Commented] (THRIFT-2272) CLONE - Denial of Service attack in TBinaryProtocol.readString

    [ https://issues.apache.org/jira/browse/THRIFT-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13831672#comment-13831672 ] 

Valentin Mayamsin commented on THRIFT-2272:
-------------------------------------------

The issue is still there, in TBinaryProtocol in particular. The Attack.java still produces java.lang.OutOfMemoryError

> CLONE - Denial of Service attack in TBinaryProtocol.readString
> --------------------------------------------------------------
>
>                 Key: THRIFT-2272
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2272
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>    Affects Versions: 0.6.1, 0.8
>         Environment: All
>            Reporter: Valentin Mayamsin
>            Assignee: Niraj Tolia
>            Priority: Critical
>              Labels: security
>             Fix For: 0.9
>
>         Attachments: 0001-Add-test-for-TCompactProtocol-OOM-Denial-of-Service.patch, 0001-Address-denial-of-service-in-TCompactProtocol.patch, 0002-Add-test-for-TBinaryProtocol-OOM-Denial-of-Service.patch, 0003-Cleanup-length-checks-in-TCompactProtocol.patch, Attack.java, Foo.thrift
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In readString, if the string field's size is greater than the number of bytes remaining in the byte array to deserialize, libthrift will happily allocate a byte array of that size in readStringBody, filling the heap.



--
This message was sent by Atlassian JIRA
(v6.1#6144)