Hasty Briefsbeta

双语

Ruby Array Pack Bleed – Impacts Ruby 1.6.7 to 4.0.0

5 months ago
  • #Vulnerability
  • #Ruby
  • #Security
  • Ruby 4.0.0版本发布,其Array#pack方法存在内存泄露漏洞
  • 该漏洞允许通过pack指令中的负重复计数越界读取内存
  • 影响从Ruby 1.6.7到4.0.0的所有版本,修复方案见PR #15763
  • pack方法中的'X'指令可被利用通过负增长量扩展字符串,导致内存泄露
  • rb_str_set_len中的防护条件虽能限制内存泄露,但特定字符串长度可绕过该限制
  • 演示案例展示了如何通过操纵字符串长度和重复计数来泄露内存