this post was submitted on 11 Apr 2024
89 points (87.4% liked)

Technology

59287 readers
5759 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 7 months ago (3 children)

Both the article and the CVE description point to how Rust handles escaping for CMD arguments. If it's not a Rust issue then can you explain?

[–] [email protected] 10 points 7 months ago

Because this is the status of the bug across the standard libraries of various languages, per this article and others:

  • Erlang (documentation update)
  • Go (documentation update)
  • Haskell (patch available)
  • Java (won’t fix)
  • Node.js (patch will be available)
  • PHP (patch will be available)
  • Python (documentation update)
  • Ruby (documentation update)

Notably C and C++ are missing from this list because their standard libraries don't even offer this capability. Half of these standard libraries are responding to the issue by just warning you about it in the function documentation. Rust is one of the few that actually prevents the attack from happening.

The original BatBadBut bug report used JavaScript to illustrate the vulnerability.

[–] [email protected] 9 points 7 months ago (1 children)

I explained it elsewhere, but basically: an API that needs undocumented escaping doesn't immediately make you think that the API has huge issues?

[–] [email protected] 2 points 7 months ago

WinAPIs are rife with weirdness like this that has stuck around for backward compatibility reasons. The day MS finally kills win32 will be the day Windows' security improves tenfold.

[–] [email protected] 0 points 7 months ago

If you read it more attentively, no, it does say that.

I dislike all the "rewrite it in Rust to be secure" bros, but not such a case here.