An attacker who controls part of a file path can make it point outside the folder your app meant to allow, so your app reads or writes a file somewhere else on the server. Symfony's Path class treated any text before :// as the start of a path, and didn't resolve the .. segments that came after it.
Who is affected
Apps on symfony/filesystem (also part of symfony/symfony) that build a path from user input and check it with Path::isBasePath() or Path::canonicalize() before opening it. Path::join(), Path::makeAbsolute() and Path::makeRelative() are affected the same way.
The Symfony advisory also names AssetMapper on 6.4 and later. A malicious or compromised package can make importmap:require or importmap:install write a file of its choice outside assets/vendor.
Apps that never pass untrusted paths to Path, and don't install untrusted packages with AssetMapper, aren't exposed.
What to do
Update to 5.4.56, 6.4.50, 7.4.23 or 8.1.11. If you're on 8.0, update to 8.1.11. The fix only treats a prefix as a scheme when PHP would. Real stream wrappers such as phar:// and file:// keep working.
Reported and fixed by Nicolas Grekas.