First published: Thu Oct 25 2018(Updated: )
Array#pack method converts the receiver’s contents into a string with specified format. If the receiver contains some tainted objects, the returned string also should be tainted. String#unpack method which converts the receiver into an array also should propagate its tainted flag to the objects contained in the returned array. But, with B, b, H and h directives, the tainted flags are not propagated. So, if a script processes unreliable inputs by Array#pack and/or String#unpack with these directives and checks the reliability with tainted flags, the check might be wrong. External References: <a href="https://www.ruby-lang.org/en/news/2018/10/17/not-propagated-taint-flag-in-some-formats-of-pack-cve-2018-16396/">https://www.ruby-lang.org/en/news/2018/10/17/not-propagated-taint-flag-in-some-formats-of-pack-cve-2018-16396/</a>
Affected Software | Affected Version | How to fix |
---|---|---|
Ruby |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-1643089 is classified as a moderate security vulnerability.
To fix REDHAT-BUG-1643089, you should update to a patched version of Ruby that addresses this vulnerability.
The potential consequences of REDHAT-BUG-1643089 include the risk of unintentionally exposing sensitive information through untainted strings.
REDHAT-BUG-1643089 is present in affected versions of Ruby before the patch was applied.
Developers using vulnerable versions of Ruby that utilize the Array#pack and String#unpack methods may be affected by REDHAT-BUG-1643089.