Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some applications do not work properly when the symbolic link target contains a short name (8dot3 name) #3633

Open
offhub opened this issue Feb 21, 2024 · 3 comments
Labels
Confirmation pending Further confirmation is requested High priority To be done as soon as possible Symlinks Collection of symbolic links issues ToDo To be done

Comments

@offhub
Copy link
Collaborator

offhub commented Feb 21, 2024

Describe what you noticed and did

Some applications do not work properly when the symbolic link target contains a short name (8dot3 name)

  1. Save as .bat file and run as unsandboxed (admin)
@echo off
:: Run as Admin

if exist "%LocalAppData%\Microsoft\Edge\User Data\" (ren "%LocalAppData%\Microsoft\Edge\User Data" "User Data_BAK_%RANDOM%")
if exist "%LocalAppData%\Microsoft\Edge\User Data 2\" (ren "%LocalAppData%\Microsoft\Edge\User Data 2" "User Data 2_BAK_%RANDOM%")
if not exist "%LocalAppData%\Microsoft\Edge\User Data 2\" (md "%LocalAppData%\Microsoft\Edge\User Data 2")
fsutil file setshortname "%LocalAppData%\Microsoft\Edge\User Data 2" SHNAME~1
if exist "%LocalAppData%\Microsoft\Edge\SHNAME~1\" (mklink /D "%LocalAppData%\Microsoft\Edge\User Data" "%LocalAppData%\Microsoft\Edge\SHNAME~1")
  1. Run msedge.exe
  2. msedge.exe freezes or crashes when opened. If it does not freeze or crash, try to install any extension, the extension installation will fail
  3. If you browse to the "%LocalAppData%\Microsoft\Edge" folder inside the sandbox, you will see that both the short and regular folders exist.

How often did you encounter it so far?

Every time

Expected behavior

It should work the same way it does outside the sandbox.

Affected program

msedge, firefox, etc.

Download link

Not relevant

Where is the program located?

The program is installed only outside the sandbox.

Did the program or any related process close unexpectedly?

Yes, it did, but no .dmp file has been created in the system.

Crash dump

No response

What version of Sandboxie are you running now?

Sandboxie-Plus 1.13.0 64-bit

Is it a new installation of Sandboxie?

I recently did a new clean installation.

Is it a regression from previous versions?

No response

In which sandbox type you have this problem?

In a standard isolation sandbox (yellow sandbox icon).

Can you reproduce this problem on a new empty sandbox?

I can confirm it also on a new empty sandbox.

What is your Windows edition and version?

Windows 11 Pro 23H2 64-bit (22631.3155)

In which Windows account you have this problem?

A local account (Administrator)., An account with UAC protection set to Always notify.

Please mention any installed security software

Microsoft Windows Defender

Did you previously enable some security policy settings outside Sandboxie?

No response

Trace log

No response

Sandboxie.ini configuration

No response

sbie3633shrtnm01.mp4
@offhub offhub added Confirmation pending Further confirmation is requested Symlinks Collection of symbolic links issues labels Feb 21, 2024
@DavidXanatos
Copy link
Member

can this be tested without msedge only with a batch file or a short c++ app?

@offhub
Copy link
Collaborator Author

offhub commented Feb 26, 2024

test.bat

Run as admin (unsandboxed)

@echo off
:: Save as .bat then run as admin (unsandboxed)

set sbieIni=C:\Program Files\Sandboxie-Plus\SbieIni.exe
set startExe=C:\Program Files\Sandboxie-Plus\Start.exe
set tempx=%SystemDrive%\Users\%USERNAME%\AppData\Local\Temp\SbieTestFolder
set rndm=%RANDOM%
set tempfile=%SystemDrive%\TempFile.txt
set tempfilexA=%tempx%\TEST\TempFileA.txt
set tempfilexB=%tempx%\SHNAME~2\TempFileB.txt
set tempfilexC=%tempx%\TEST 3\TempFileC.txt
set tempfilexD=%tempx%\TEST 4\TempFileD.txt
set tempbatA=%tempx%\TempFileA.bat
set boxA=BoxA

"%sbieIni%" set %boxA% Enabled y && timeout 1 && "%startExe%" /box:%boxA% /terminate && timeout 1 && "%startExe%" /box:%boxA% delete_sandbox && timeout 1

ren "%tempx%\TEST" "TEST_%rndm%"
ren "%tempx%\TEST 2" "TEST 2_%rndm%"
ren "%tempx%\TEST 3" "TEST 3_%rndm%"
ren "%tempx%\TEST 4" "TEST 4_%rndm%"
md "%tempx%\TEST 2"
md "%tempx%\TEST 4"
fsutil file setshortname "%tempx%\TEST 2" SHNAME~2
mklink /D "%tempx%\TEST" "%tempx%\SHNAME~2"
fsutil file setshortname "%tempx%\TEST 4" SHNAME~4
mklink /D "%tempx%\TEST 3" "%tempx%\TEST 4"

echo This file exists in the sandbox but could not be deleted.>"%tempfile%"

cd /d "%tempx%" && for /d %%x in (TEST*_*) do rd /s /q "%%x"

:: tempbatA
echo @echo off>"%tempbatA%"
echo cd /d "%tempx%">>%tempbatA%"
echo TITLE BoxA - Sandboxed "%cd%">>%tempbatA%"
echo echo ---COPY--->>"%tempbatA%"
echo echo copy "%tempfile%" "%tempfilexA%">>"%tempbatA%"
echo copy "%tempfile%" "%tempfilexA%">>"%tempbatA%"
echo echo copy "%tempfile%" "%tempfilexB%">>"%tempbatA%"
echo copy "%tempfile%" "%tempfilexB%">>"%tempbatA%"
echo echo copy "%tempfile%" "%tempfilexC%">>"%tempbatA%"
echo copy "%tempfile%" "%tempfilexC%">>"%tempbatA%"
echo echo copy "%tempfile%" "%tempfilexD%">>"%tempbatA%"
echo copy "%tempfile%" "%tempfilexD%">>"%tempbatA%"
echo echo ---DIR--->>"%tempbatA%"
echo echo dir /s /b "TempFile*.txt">>"%tempbatA%"
echo dir /s /b "TempFile*.txt">>"%tempbatA%"
echo pause>>"%tempbatA%"
echo cls>>"%tempbatA%"
echo echo ---DEL--->>"%tempbatA%"
echo echo del /s "*.txt">>"%tempbatA%"
echo del /s "*.txt">>"%tempbatA%"
echo echo ---DIR--->>"%tempbatA%"
echo echo dir /s /b "TempFile*.txt">>"%tempbatA%"
echo dir /s /b "TempFile*.txt">>"%tempbatA%"
echo pause>>"%tempbatA%"
echo cls>>"%tempbatA%"
echo echo ---TYPE--->>"%tempbatA%"
echo echo type "%tempfilexA%">>"%tempbatA%"
echo type "%tempfilexA%">>"%tempbatA%"
echo echo type "%tempfilexB%">>"%tempbatA%"
echo type "%tempfilexB%">>"%tempbatA%"
echo echo type "%tempfilexC%">>"%tempbatA%"
echo type "%tempfilexC%">>"%tempbatA%"
echo echo type "%tempfilexD%">>"%tempbatA%"
echo type "%tempfilexD%">>"%tempbatA%"
echo pause>>"%tempbatA%"
echo cls>>"%tempbatA%"
echo echo ---DEL--->>"%tempbatA%"
echo echo del "%tempx%\TEST\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\TEST 2\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST 2\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\TEST 3\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST 3\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\TEST 4\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST 4\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\SHNAME~2\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\SHNAME~2\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\SHNAME~4\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\SHNAME~4\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\TEST2~1\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST2~1\TempFileA.txt">>"%tempbatA%"
echo echo del "%tempx%\TEST3~1\TempFileA.txt">>"%tempbatA%"
echo del "%tempx%\TEST3~1\TempFileA.txt">>"%tempbatA%"
echo pause>>"%tempbatA%"
echo cls>>"%tempbatA%"
echo echo ---TYPE--->>"%tempbatA%"
echo echo type "%tempx%\TEST\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\TEST 2\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST 2\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\TEST 3\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST 3\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\TEST 4\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST 4\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\SHNAME~2\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\SHNAME~2\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\SHNAME~4\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\SHNAME~4\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\TEST2~1\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST2~1\TempFileA.txt">>"%tempbatA%"
echo echo type "%tempx%\TEST3~1\TempFileA.txt">>"%tempbatA%"
echo type "%tempx%\TEST3~1\TempFileA.txt">>"%tempbatA%"
echo echo --->>"%tempbatA%"

start "%boxA%" cmd /c ""%startExe%" /box:%boxA% cmd /k "%tempbatA%""

@isaak654 isaak654 added the Fixed ??? Not sure if it was fixed or not label Apr 15, 2024
@offhub
Copy link
Collaborator Author

offhub commented May 1, 2024

Nope, this problem still exists.

@offhub offhub removed the Fixed ??? Not sure if it was fixed or not label May 1, 2024
@DavidXanatos DavidXanatos added ToDo To be done High priority To be done as soon as possible labels May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Confirmation pending Further confirmation is requested High priority To be done as soon as possible Symlinks Collection of symbolic links issues ToDo To be done
Projects
None yet
Development

No branches or pull requests

3 participants