Intel

AIKIDO-2026-389801

iostreams is vulnerable to Injection

InjectionGHSA-45vg-g6hw-72xw Published 2 days ago

59

Medium Risk

This Affects:

RUBYiostreams
0.0.1 - 2.0.0
Fixed in 2.1.0
Are you affected? Scan for Free

TL;DR

#each_child on S3 and SFTP paths joins the remote file name into a URL and parses it again, so ?, +, #, and % can change the resulting child path. On S3, a key such as inbox/a+b.csv?acl=public-read produces the child path inbox/a b.csv and the request parameter acl: "public-read", allowing an untrusted object name to alter later #move_to or #copy_to calls on another object. On SFTP, the same characters can produce a child path for a different file. The fix builds each child directly from the remote name without parsing it as a URL.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you use #each_child to scan an S3 bucket or SFTP directory that untrusted parties can write to.

Background info

iostreams is vulnerable to Injection in versions 0.0.1 - 2.0.0.

How to fix this

Upgrade the iostreams library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform