[ 
https://issues.apache.org/jira/browse/THRIFT-6025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmytro Shteflyuk resolved THRIFT-6025.
--------------------------------------
    Fix Version/s: 0.24.0
       Resolution: Fixed

> Ruby client must validate container sizes
> -----------------------------------------
>
>                 Key: THRIFT-6025
>                 URL: https://issues.apache.org/jira/browse/THRIFT-6025
>             Project: Thrift
>          Issue Type: Bug
>          Components: Ruby - Library
>            Reporter: Dmytro Shteflyuk
>            Assignee: Dmytro Shteflyuk
>            Priority: Major
>             Fix For: 0.24.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The Ruby library accepts negative size values in protocol and transport read 
> paths.
> In Thrift protocols, strings, binary fields, maps, lists, and sets include a 
> size value on the wire. If that size is negative, the runtime should reject 
> the message immediately as invalid input. Ruby was not doing that 
> consistently.
> This affects both the pure Ruby implementation and the native C extension 
> paths. A malformed or hostile payload can declare a negative size and reach 
> code paths that were written assuming sizes are non-negative.
> h2. Scope
> Harden Ruby protocol and transport reads so negative sizes are rejected 
> consistently for:
>  * binary/string payload sizes
>  * map sizes
>  * list sizes
>  * set sizes
>  * transport read_all sizes
>  * generated struct/union container reads
>  * native accelerated Ruby paths



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to