[ https://issues.apache.org/jira/browse/SSHD-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Goldstein Lyor updated SSHD-731: -------------------------------- Summary: Vulnerability in SimpleAccessControlSftpEventListener implementation (was: Vanorability in SimpleAccessControlSftpEventListener implementation) > Vulnerability in SimpleAccessControlSftpEventListener implementation > --------------------------------------------------------------------- > > Key: SSHD-731 > URL: https://issues.apache.org/jira/browse/SSHD-731 > Project: MINA SSHD > Issue Type: Bug > Environment: <dependency> > <groupId>org.apache.sshd</groupId> > <artifactId>sshd-core</artifactId> > <version>1.3.0</version> > </dependency> > <dependency> > <groupId>org.apache.sshd</groupId> > <artifactId>sshd-contrib</artifactId> > <version>1.3.0</version> > </dependency> > Reporter: Boris Fridland > > After implementing sftp access control by overriding > SimpleAccessControlSftpEventListener and adding it to SftpSubsystemFactory: > Scenario: > 1.set SimpleAccessControlSftpEventListener.isModificationAllowed to return > false > 2. Establish connection with WinScp > 3. try to create new file > expected result: access denied message + no influence on file system > actual: access denied message, + empty file is written to server disc. > in addition if existing file is opened, and being saved --> result is that > file content of is removed. > Attached configuration code: > SftpSubsystemFactory.Builder builder = new SftpSubsystemFactory.Builder(); > builder.addSftpEventListener(new > SimpleAccessControlSftpEventListener() { > protected boolean isAccessAllowed(ServerSession session, String > remoteHandle, Path localPath) > throws IOException { > EUserAccessLevel level = > authorizationManager.getAccessLevel(session.getUsername()); > return level.hasReadAccess(); > } > protected boolean isModificationAllowed(ServerSession session, > String remoteHandle, Path localPath) > throws IOException { > EUserAccessLevel level = > authorizationManager.getAccessLevel(session.getUsername()); > return level.hasWriteAccess(); > } > }); > > sshd.setSubsystemFactories(Collections.singletonList(builder.build())); > sshd.setCommandFactory(new ScpCommandFactory()); > Maven dependency > <dependency> > <groupId>org.apache.sshd</groupId> > <artifactId>sshd-core</artifactId> > <version>1.3.0</version> > </dependency> > <dependency> > <groupId>org.apache.sshd</groupId> > <artifactId>sshd-contrib</artifactId> > <version>1.3.0</version> > </dependency> -- This message was sent by Atlassian JIRA (v6.3.15#6346)