Skip to content

Commit b62938b

Browse files
authored
Restrict packages directory permissions to 0700 (#243)
1 parent e33f1a1 commit b62938b

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

src/Package_Command.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1283,7 +1283,7 @@ private function create_default_composer_json( $composer_path ) {
12831283

12841284
$composer_dir = pathinfo( $composer_path, PATHINFO_DIRNAME );
12851285
if ( ! is_dir( $composer_dir ) ) {
1286-
if ( ! @mkdir( $composer_dir, 0777, true ) ) { // @codingStandardsIgnoreLine
1286+
if ( ! @mkdir( $composer_dir, 0700, true ) ) { // @codingStandardsIgnoreLine
12871287
$error = error_get_last();
12881288
WP_CLI::error( sprintf( "Composer directory '%s' for packages couldn't be created: %s", $composer_dir, $error['message'] ) );
12891289
}

tests/phpunit/ComposerJsonTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ public function test_create_default_composer_json() {
8787
$actual = $create_default_composer_json->invoke( $package, $expected );
8888
$this->assertSame( $this->mac_safe_path( realpath( $expected ) ?: $expected ), $this->mac_safe_path( realpath( $actual ) ?: $actual ) );
8989
$this->assertTrue( false !== strpos( file_get_contents( $actual ), 'wp-cli/wp-cli' ) );
90+
if ( ! Utils\is_windows() ) {
91+
$this->assertSame( '0700', substr( sprintf( '%o', fileperms( dirname( $actual ) ) ), -4 ) );
92+
}
9093
unlink( $actual );
9194
rmdir( dirname( $actual ) );
9295
}

0 commit comments

Comments
 (0)