Skip to content

Commit a404b17

Browse files
committed
Add implicit temp dir/file checks + add entitlement for OsProbe
1 parent e10f9bf commit a404b17

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

libs/entitlement/src/main/java/org/elasticsearch/entitlement/initialization/EntitlementInitialization.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import java.util.stream.Stream;
6060
import java.util.stream.StreamSupport;
6161

62+
import static org.elasticsearch.entitlement.runtime.policy.entitlements.FilesEntitlement.Mode.READ;
6263
import static org.elasticsearch.entitlement.runtime.policy.entitlements.FilesEntitlement.Mode.READ_WRITE;
6364

6465
/**
@@ -153,6 +154,7 @@ private static PolicyManager createPolicyManager() {
153154
Stream.of(new FilesEntitlement.FileData(tempDir.toString(), READ_WRITE)),
154155
Stream.of(new FilesEntitlement.FileData(configDir.toString(), READ_WRITE)),
155156
Stream.of(new FilesEntitlement.FileData(logsDir.toString(), READ_WRITE)),
157+
Stream.of(new FilesEntitlement.FileData("/etc/os-release", READ)), // for OsProbe
156158
Arrays.stream(dataDirs).map(d -> new FileData(d.toString(), READ_WRITE))
157159
).flatMap(Function.identity()).toList()
158160
)

libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/api/ElasticsearchEntitlementChecker.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,7 @@ public void checkSelectorProviderInheritedChannel(Class<?> callerClass, Selector
11641164

11651165
@Override
11661166
public void check$java_nio_file_Files$$createTempFile(Class<?> callerClass, String prefix, String suffix, FileAttribute<?>... attrs) {
1167-
// TODO
1167+
policyManager.checkCreateTempFile(callerClass);
11681168
}
11691169

11701170
@Override
@@ -1174,7 +1174,7 @@ public void checkSelectorProviderInheritedChannel(Class<?> callerClass, Selector
11741174

11751175
@Override
11761176
public void check$java_nio_file_Files$$createTempDirectory(Class<?> callerClass, String prefix, FileAttribute<?>... attrs) {
1177-
// TODO
1177+
policyManager.checkCreateTempFile(callerClass);
11781178
}
11791179

11801180
@Override

libs/entitlement/src/main/java/org/elasticsearch/entitlement/runtime/policy/PolicyManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,10 @@ public void checkFileWrite(Class<?> callerClass, Path path) {
305305
}
306306
}
307307

308+
public void checkCreateTempFile(Class<?> callerClass) {
309+
checkFileWrite(callerClass, tempDir);
310+
}
311+
308312
/**
309313
* Invoked when we try to get an arbitrary {@code FileAttributeView} class. Such a class can modify attributes, like owner etc.;
310314
* we could think about introducing checks for each of the operations, but for now we over-approximate this and simply deny when it is

0 commit comments

Comments
 (0)