bug70350.phpt 634 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Bug #70350 (ZipArchive::extractTo allows for directory traversal when creating directories)
  3. --EXTENSIONS--
  4. zip
  5. --FILE--
  6. <?php
  7. $dir = __DIR__."/bug70350";
  8. mkdir($dir);
  9. $archive = new ZipArchive();
  10. $archive->open("$dir/a.zip",ZipArchive::CREATE);
  11. $archive->addEmptyDir("../down2/");
  12. $archive->close();
  13. $archive2 = new ZipArchive();
  14. $archive2->open("$dir/a.zip");
  15. $archive2->extractTo($dir);
  16. $archive2->close();
  17. var_dump(file_exists("$dir/down2/"));
  18. var_dump(file_exists("../down2/"));
  19. ?>
  20. --CLEAN--
  21. <?php
  22. $dir = __DIR__."/bug70350";
  23. rmdir("$dir/down2");
  24. unlink("$dir/a.zip");
  25. rmdir($dir);
  26. ?>
  27. --EXPECT--
  28. bool(true)
  29. bool(false)