blob: c746cb30fa79e3b544ae26ca57a7cb7d130c4a64 [file] [log] [blame]
Inseob Kimbbae4a92020-03-19 17:49:08 +09001# Properties used only in /system
2system_internal_prop(adbd_prop)
David Anderson3fce5ad2024-10-11 08:58:23 -07003system_internal_prop(adbd_tradeinmode_prop)
Richard Fung0c7c2672021-11-08 20:09:54 +00004system_internal_prop(apexd_payload_metadata_prop)
David Anderson09bb9442020-11-13 00:45:59 -08005system_internal_prop(ctl_snapuserd_prop)
Harshit Mahajan7740a472024-02-01 13:00:46 +00006system_internal_prop(crashrecovery_prop)
Ben Murdochd3104972024-08-23 13:10:51 +00007system_internal_prop(debug_tracing_desktop_mode_visible_tasks_prop)
Dennis Shen3b8c57f2023-07-25 20:15:02 +00008system_internal_prop(device_config_core_experiments_team_internal_prop)
Suren Baghdasaryan592e06c2021-08-04 12:31:43 -07009system_internal_prop(device_config_lmkd_native_prop)
Kalesh Singh9e257142022-04-06 14:31:26 -070010system_internal_prop(device_config_mglru_native_prop)
Yi Kong0ac00722020-10-27 02:29:52 +080011system_internal_prop(device_config_profcollect_native_boot_prop)
Vikram Gaure1c49f52022-09-29 21:20:22 +000012system_internal_prop(device_config_remote_key_provisioning_native_prop)
Tej Singhdd0988f2020-11-17 19:26:23 -080013system_internal_prop(device_config_statsd_native_prop)
14system_internal_prop(device_config_statsd_native_boot_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090015system_internal_prop(device_config_storage_native_boot_prop)
16system_internal_prop(device_config_sys_traced_prop)
17system_internal_prop(device_config_window_manager_native_boot_prop)
18system_internal_prop(device_config_configuration_prop)
Xiao Ma2d6c9f02021-02-02 10:27:38 +000019system_internal_prop(device_config_connectivity_prop)
Nick Chalko81a4dd42021-02-11 09:12:51 -080020system_internal_prop(device_config_swcodec_native_prop)
Motomu Utsumi24732622023-05-11 19:36:18 +090021system_internal_prop(device_config_tethering_u_or_later_native_prop)
Alexander Potapenko0a64d102022-01-28 19:48:27 +010022system_internal_prop(dmesgd_start_prop)
Rob Barnes8afcd7b2024-09-18 00:59:51 +000023system_internal_prop(bert_collector_start_prop)
Hongguang Chen91a5f4e2020-04-23 23:43:13 -070024system_internal_prop(fastbootd_protocol_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090025system_internal_prop(gsid_prop)
26system_internal_prop(init_perf_lsm_hooks_prop)
Inseob Kim15e5e0a2020-05-14 19:43:08 +090027system_internal_prop(init_service_status_private_prop)
Suren Baghdasaryan9fdb2982022-09-07 13:13:47 -070028system_internal_prop(init_storage_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090029system_internal_prop(init_svc_debug_prop)
Alice Ryhl6b9aa6d2024-02-21 15:18:14 +000030system_internal_prop(kcmdline_prop)
Hasini Gunasinghe4fa6b1a2021-07-02 23:14:50 +000031system_internal_prop(keystore_crash_prop)
Paul Crowleyb0c55712021-02-23 08:40:05 -080032system_internal_prop(keystore_listen_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090033system_internal_prop(last_boot_reason_prop)
Alexander Mishkovetsf0be89b2020-07-08 23:11:03 +020034system_internal_prop(localization_prop)
Snild Dolkowef0f3692023-11-10 10:58:01 +010035system_internal_prop(logd_auditrate_prop)
Primiano Tuccicd452302020-10-09 09:15:10 +010036system_internal_prop(lower_kptr_restrict_prop)
Lorenzo Colitti082ebd22021-03-10 14:45:07 +090037system_internal_prop(net_464xlat_fromvendor_prop)
Lorenzo Colitti26d3d4a2021-03-10 15:31:36 +090038system_internal_prop(net_connectivity_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090039system_internal_prop(netd_stable_secret_prop)
Dennis Shenbb028e32023-09-29 17:28:28 +000040system_internal_prop(next_boot_prop)
Martijn Coenenf2e4ee62021-03-16 08:34:30 +010041system_internal_prop(odsign_prop)
Steven Moreland9f41fc02024-02-16 22:38:26 +000042system_internal_prop(misctrl_prop)
Michael Rosenfeld3ccbebb2021-02-10 18:45:35 -080043system_internal_prop(perf_drop_caches_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090044system_internal_prop(pm_prop)
Yi Kong9b658452021-03-22 22:02:22 +080045system_internal_prop(profcollectd_node_id_prop)
Nazaninb373dd02021-04-29 21:52:42 -070046system_internal_prop(radio_cdma_ecm_prop)
Andrew Sculledba76d2022-10-31 18:27:29 +000047system_internal_prop(remote_prov_prop)
Vikram Gaurf6c6f452024-09-05 23:00:09 +000048system_internal_prop(remote_prov_cert_prop)
JW Wang0f8cf042021-02-24 14:29:06 +080049system_internal_prop(rollback_test_prop)
Inseob Kimd5a04482020-11-05 22:17:26 +090050system_internal_prop(setupwizard_prop)
Jiakai Zhangb9cf68a2024-03-08 18:36:03 +000051system_internal_prop(snapshotctl_prop)
David Andersonbf5b6ce2021-07-26 15:03:11 -070052system_internal_prop(snapuserd_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090053system_internal_prop(system_adbd_prop)
Mikhail Naganov8b69e5f2024-02-14 18:53:37 +000054system_internal_prop(system_audio_config_prop)
Neil Fullerbbb00fa2022-09-23 14:10:35 +010055system_internal_prop(timezone_metadata_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090056system_internal_prop(traced_perf_enabled_prop)
Yu-Ting Tseng43cae4e2023-12-15 00:48:23 +000057system_internal_prop(uprobestats_start_with_config_prop)
Hongguang95155592022-08-09 14:57:02 -070058system_internal_prop(tuner_server_ctl_prop)
Inseob Kimbbae4a92020-03-19 17:49:08 +090059system_internal_prop(userspace_reboot_log_prop)
60system_internal_prop(userspace_reboot_test_prop)
Inseob Kimd5a04482020-11-05 22:17:26 +090061system_internal_prop(verity_status_prop)
62system_internal_prop(zygote_wrap_prop)
hkuangde370e52021-05-14 12:52:54 -070063system_internal_prop(ctl_mediatranscoding_prop)
Martijn Coenen5f21a0f2021-07-27 13:47:42 +020064system_internal_prop(ctl_odsign_prop)
Jiyong Parkb804de22021-09-16 21:06:20 +090065system_internal_prop(virtualizationservice_prop)
Jooyung Hanccfb0ef2022-07-07 15:42:39 +090066system_internal_prop(ctl_apex_load_prop)
Pontus Lidman0af0e712023-07-20 19:09:48 +000067system_internal_prop(sensors_config_prop)
Jaewan Kim4183cbb2023-08-31 07:58:08 +000068system_internal_prop(hypervisor_pvmfw_prop)
69system_internal_prop(hypervisor_virtualizationmanager_prop)
Andy Yue2fb30d2023-10-19 17:43:51 -070070system_internal_prop(game_manager_config_prop)
Devin Moore01b91e72023-11-30 23:06:43 +000071system_internal_prop(hidl_memory_prop)
Radu Solea82db3432023-12-01 10:07:28 -080072system_internal_prop(suspend_debug_prop)
tyiud60859a2024-06-21 18:15:46 +000073system_internal_prop(system_service_enable_prop)
Jiakai Zhang261199f2024-08-29 19:12:15 +010074system_internal_prop(ctl_artd_pre_reboot_prop)
Pontus Lidman0af0e712023-07-20 19:09:48 +000075
Pawan Wagh3d9b0122024-07-08 22:50:33 +000076
Andrew Scullaedd65a2021-10-08 12:13:46 +000077# Properties which can't be written outside system
Kalesh Singhf3fb64a2024-08-28 16:53:37 +000078system_restricted_prop(bionic_linker_16kb_app_compat_prop)
Andrew Scullaedd65a2021-10-08 12:13:46 +000079system_restricted_prop(device_config_virtualization_framework_native_prop)
Kelvin Zhang7babcdb2024-05-30 19:11:07 +000080system_restricted_prop(fstype_prop)
Jiyong Parkc4f84bc2022-09-18 23:09:53 +090081system_restricted_prop(log_file_logger_prop)
Alexander Roederer829d9742023-03-23 02:19:22 +000082system_restricted_prop(persist_sysui_builder_extras_prop)
Alexander Roederer584a8622023-05-31 21:25:50 +000083system_restricted_prop(persist_sysui_ranking_update_prop)
Pawan Wagh3d9b0122024-07-08 22:50:33 +000084system_restricted_prop(page_size_prop)
Andrew Scullaedd65a2021-10-08 12:13:46 +000085
Ted Wangc531cfc2024-09-16 10:49:32 +000086# Properties with no restrictions
87until_board_api(202504, `
88 system_public_prop(bluetooth_finder_prop)
Jeff Puc2ed6ad2024-09-26 20:42:37 +000089 system_public_prop(virtual_fingerprint_prop)
Ted Wangc531cfc2024-09-16 10:49:32 +000090')
91
Vadim Caen1d81f872024-08-19 15:08:35 +020092# These types will be public starting at board api 202504
93until_board_api(202504, `
94 system_restricted_prop(enable_16k_pages_prop)
95 system_restricted_prop(profcollectd_etr_prop)
96')
97
Alice Wang3d9ce1a2024-06-07 09:07:34 +000098# Properties which should only be written by vendor_init
99system_vendor_config_prop(avf_virtualizationservice_prop)
Miranda Huangd07ee242024-08-16 22:42:40 +0000100system_vendor_config_prop(high_barometer_quality_prop)
Alice Wang3d9ce1a2024-06-07 09:07:34 +0000101
Inseob Kim75806ef2024-03-27 17:18:41 +0900102typeattribute log_prop log_property_type;
103typeattribute log_tag_prop log_property_type;
104typeattribute wifi_log_prop log_property_type;
105
106allow property_type tmpfs:filesystem associate;
107
108# core_property_type should not be used for new properties or
109# device specific properties. Properties with this attribute
110# are readable to everyone, which is overly broad and should
111# be avoided.
112# New properties should have appropriate read / write access
113# control rules written.
114
115typeattribute audio_prop core_property_type;
116typeattribute config_prop core_property_type;
117typeattribute cppreopt_prop core_property_type;
118typeattribute dalvik_prop core_property_type;
119typeattribute debuggerd_prop core_property_type;
120typeattribute debug_prop core_property_type;
121typeattribute dhcp_prop core_property_type;
122typeattribute dumpstate_prop core_property_type;
123typeattribute logd_prop core_property_type;
124typeattribute net_radio_prop core_property_type;
125typeattribute nfc_prop core_property_type;
126typeattribute ota_prop core_property_type;
127typeattribute pan_result_prop core_property_type;
128typeattribute persist_debug_prop core_property_type;
129typeattribute powerctl_prop core_property_type;
130typeattribute radio_prop core_property_type;
131typeattribute restorecon_prop core_property_type;
132typeattribute shell_prop core_property_type;
133typeattribute system_prop core_property_type;
134typeattribute usb_prop core_property_type;
135typeattribute vold_prop core_property_type;
136
137typeattribute dalvik_config_prop dalvik_config_prop_type;
138typeattribute dalvik_dynamic_config_prop dalvik_config_prop_type;
139
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900140###
141### Neverallow rules
142###
143
144treble_sysprop_neverallow(`
145
Inseob Kimafc09932020-09-28 13:32:43 +0900146enforce_sysprop_owner(`
147 neverallow domain {
148 property_type
149 -system_property_type
150 -product_property_type
151 -vendor_property_type
152 }:file no_rw_file_perms;
153')
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900154
155neverallow { domain -coredomain } {
156 system_property_type
157 system_internal_property_type
158 -system_restricted_property_type
159 -system_public_property_type
160}:file no_rw_file_perms;
161
162neverallow { domain -coredomain } {
163 system_property_type
164 -system_public_property_type
165}:property_service set;
166
167# init is in coredomain, but should be able to read/write all props.
168# dumpstate is also in coredomain, but should be able to read all props.
169neverallow { coredomain -init -dumpstate } {
170 vendor_property_type
171 vendor_internal_property_type
172 -vendor_restricted_property_type
173 -vendor_public_property_type
174}:file no_rw_file_perms;
175
176neverallow { coredomain -init } {
177 vendor_property_type
178 -vendor_public_property_type
179}:property_service set;
180
181')
182
183# There is no need to perform ioctl or advisory locking operations on
184# property files. If this neverallow is being triggered, it is
185# likely that the policy is using r_file_perms directly instead of
186# the get_prop() macro.
187neverallow domain property_type:file { ioctl lock };
188
189neverallow * {
190 core_property_type
191 -audio_prop
192 -config_prop
193 -cppreopt_prop
194 -dalvik_prop
195 -debuggerd_prop
196 -debug_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900197 -dhcp_prop
198 -dumpstate_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900199 -fingerprint_prop
200 -logd_prop
201 -net_radio_prop
202 -nfc_prop
203 -ota_prop
204 -pan_result_prop
205 -persist_debug_prop
206 -powerctl_prop
207 -radio_prop
208 -restorecon_prop
209 -shell_prop
210 -system_prop
Inseob Kimdc1e5012020-04-27 21:13:01 +0900211 -usb_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900212 -vold_prop
213}:file no_rw_file_perms;
214
215# sigstop property is only used for debugging; should only be set by su which is permissive
216# for userdebug/eng
217neverallow {
218 domain
219 -init
220 -vendor_init
221} ctl_sigstop_prop:property_service set;
222
223# Don't audit legacy ctl. property handling. We only want the newer permission check to appear
224# in the audit log
225dontaudit domain {
226 ctl_bootanim_prop
227 ctl_bugreport_prop
228 ctl_console_prop
229 ctl_default_prop
230 ctl_dumpstate_prop
231 ctl_fuse_prop
232 ctl_mdnsd_prop
233 ctl_rildaemon_prop
234}:property_service set;
235
236neverallow {
237 domain
238 -init
Suren Baghdasaryan9fdb2982022-09-07 13:13:47 -0700239 -extra_free_kbytes
240} init_storage_prop:property_service set;
241
242neverallow {
243 domain
244 -init
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900245} init_svc_debug_prop:property_service set;
246
247neverallow {
248 domain
249 -init
250 -dumpstate
251 userdebug_or_eng(`-su')
252} init_svc_debug_prop:file no_rw_file_perms;
253
Steven Moreland9f41fc02024-02-16 22:38:26 +0000254# DO NOT ADD: compat risk
255neverallow {
256 domain
257 -init
Steven Moreland0ae91482024-05-14 19:42:37 +0000258 -crash_dump
Steven Moreland9f41fc02024-02-16 22:38:26 +0000259 -dumpstate
260 -misctrl
Steven Moreland0ae91482024-05-14 19:42:37 +0000261 -statsd
Steven Moreland9f41fc02024-02-16 22:38:26 +0000262 userdebug_or_eng(`-su')
263} misctrl_prop:file no_rw_file_perms;
264neverallow {
265 domain
266 -init
267 -misctrl
268 userdebug_or_eng(`-su')
269} misctrl_prop:property_service set;
270
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900271compatible_property_only(`
272# Prevent properties from being set
273 neverallow {
274 domain
275 -coredomain
276 -appdomain
277 -vendor_init
278 } {
279 core_property_type
280 extended_core_property_type
281 exported_config_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900282 exported_default_prop
283 exported_dumpstate_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900284 exported_system_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900285 exported3_system_prop
Inseob Kimdc1e5012020-04-27 21:13:01 +0900286 usb_control_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900287 -nfc_prop
288 -powerctl_prop
289 -radio_prop
290 }:property_service set;
291
292 neverallow {
293 domain
294 -coredomain
295 -appdomain
296 -hal_nfc_server
297 } {
298 nfc_prop
299 }:property_service set;
300
301 neverallow {
302 domain
303 -coredomain
304 -appdomain
305 -hal_telephony_server
306 -vendor_init
307 } {
Inseob Kimacd02fc2020-07-28 15:17:24 +0900308 radio_control_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900309 }:property_service set;
310
311 neverallow {
312 domain
313 -coredomain
314 -appdomain
315 -hal_telephony_server
316 } {
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900317 radio_prop
318 }:property_service set;
319
320 neverallow {
321 domain
322 -coredomain
323 -bluetooth
324 -hal_bluetooth_server
325 } {
326 bluetooth_prop
327 }:property_service set;
328
329 neverallow {
330 domain
331 -coredomain
332 -bluetooth
333 -hal_bluetooth_server
334 -vendor_init
335 } {
336 exported_bluetooth_prop
337 }:property_service set;
338
339 neverallow {
340 domain
341 -coredomain
342 -hal_camera_server
343 -cameraserver
344 -vendor_init
345 } {
346 exported_camera_prop
347 }:property_service set;
348
349 neverallow {
350 domain
351 -coredomain
352 -hal_wifi_server
353 -wificond
354 } {
355 wifi_prop
356 }:property_service set;
357
358 neverallow {
359 domain
Inseob Kim3dbf3d82020-06-25 21:20:42 +0900360 -init
361 -dumpstate
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900362 -hal_wifi_server
363 -wificond
364 -vendor_init
365 } {
Inseob Kim3dbf3d82020-06-25 21:20:42 +0900366 wifi_hal_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900367 }:property_service set;
368
369# Prevent properties from being read
370 neverallow {
371 domain
372 -coredomain
373 -appdomain
374 -vendor_init
375 } {
376 core_property_type
Jiakai Zhang22fb5c72023-03-30 15:50:05 +0100377 dalvik_config_prop_type
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900378 extended_core_property_type
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900379 exported3_system_prop
Inseob Kimfd2d6ec2020-04-01 10:01:16 +0900380 systemsound_config_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900381 -debug_prop
382 -logd_prop
383 -nfc_prop
384 -powerctl_prop
385 -radio_prop
Inseob Kim179c2c92024-05-23 16:12:32 +0900386 -dalvik_dynamic_config_prop
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900387 }:file no_rw_file_perms;
388
389 neverallow {
390 domain
391 -coredomain
392 -appdomain
Inseob Kim179c2c92024-05-23 16:12:32 +0900393 -vendor_init
394 -hal_power_server
395 } dalvik_dynamic_config_prop:file no_rw_file_perms;
396
397 neverallow {
398 domain
399 -coredomain
400 -appdomain
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900401 -hal_nfc_server
402 } {
403 nfc_prop
404 }:file no_rw_file_perms;
405
406 neverallow {
407 domain
408 -coredomain
409 -appdomain
410 -hal_telephony_server
411 } {
412 radio_prop
413 }:file no_rw_file_perms;
414
415 neverallow {
416 domain
417 -coredomain
418 -bluetooth
419 -hal_bluetooth_server
420 } {
421 bluetooth_prop
422 }:file no_rw_file_perms;
423
424 neverallow {
425 domain
426 -coredomain
427 -hal_wifi_server
428 -wificond
429 } {
430 wifi_prop
431 }:file no_rw_file_perms;
Benjamin Schwartz3e4d97b2020-10-30 13:55:21 -0700432
433 neverallow {
434 domain
Benjamin Schwartzc171a1d2021-04-20 09:13:02 -0700435 -coredomain
436 -vendor_init
Benjamin Schwartz3e4d97b2020-10-30 13:55:21 -0700437 } {
438 suspend_prop
439 }:property_service set;
Radu Solea82db3432023-12-01 10:07:28 -0800440
441 neverallow {
442 domain
443 -init
444 } {
445 suspend_debug_prop
446 }:property_service set;
447
448 neverallow {
449 domain
450 -init
Miranda Huangd07ee242024-08-16 22:42:40 +0000451 -vendor_init
452 } {
453 high_barometer_quality_prop
454 }:property_service set;
455
456 neverallow {
457 domain
458 -init
Radu Solea82db3432023-12-01 10:07:28 -0800459 -dumpstate
460 userdebug_or_eng(`-system_suspend')
461 } {
462 suspend_debug_prop
463 }:file no_rw_file_perms;
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900464')
465
Radu Solea82db3432023-12-01 10:07:28 -0800466dontaudit system_suspend suspend_debug_prop:file r_file_perms;
467
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900468compatible_property_only(`
469 # Neverallow coredomain to set vendor properties
470 neverallow {
471 coredomain
472 -init
473 -system_writes_vendor_properties_violators
474 } {
475 property_type
476 -system_property_type
477 -extended_core_property_type
478 }:property_service set;
479')
480
481neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900482 domain
Inseob Kimbfb37082020-04-27 23:49:15 +0900483 -coredomain
484 -vendor_init
485} {
486 ffs_config_prop
487 ffs_control_prop
488}:file no_rw_file_perms;
489
490neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900491 domain
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900492 -init
493 -system_server
494} {
495 userspace_reboot_log_prop
496}:property_service set;
497
498neverallow {
499 # Only allow init and system_server to set system_adbd_prop
Inseob Kim85acf6e2021-03-10 10:42:23 +0900500 domain
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900501 -init
502 -system_server
503} {
504 system_adbd_prop
505}:property_service set;
506
Josh Gao0cac6fd2020-10-28 13:56:23 -0700507# Let (vendor_)init, adbd, and system_server set service.adb.tcp.port
508neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900509 domain
Josh Gao0cac6fd2020-10-28 13:56:23 -0700510 -init
511 -vendor_init
512 -adbd
David Anderson3fce5ad2024-10-11 08:58:23 -0700513 -adbd_tradeinmode
Josh Gao0cac6fd2020-10-28 13:56:23 -0700514 -system_server
515} {
516 adbd_config_prop
517}:property_service set;
518
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900519neverallow {
520 # Only allow init and adbd to set adbd_prop
Inseob Kim85acf6e2021-03-10 10:42:23 +0900521 domain
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900522 -init
523 -adbd
David Anderson3fce5ad2024-10-11 08:58:23 -0700524 -adbd_tradeinmode
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900525} {
526 adbd_prop
527}:property_service set;
528
529neverallow {
Richard Fung0c7c2672021-11-08 20:09:54 +0000530 # Only allow init to set apexd_payload_metadata_prop
531 domain
532 -init
533} {
534 apexd_payload_metadata_prop
535}:property_service set;
536
537
538neverallow {
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900539 # Only allow init and shell to set userspace_reboot_test_prop
Inseob Kim85acf6e2021-03-10 10:42:23 +0900540 domain
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900541 -init
542 -shell
543} {
544 userspace_reboot_test_prop
545}:property_service set;
Inseob Kim721d9212020-04-24 21:25:17 +0900546
547neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900548 domain
Inseob Kim721d9212020-04-24 21:25:17 +0900549 -init
550 -system_server
551 -vendor_init
552} {
553 surfaceflinger_color_prop
554}:property_service set;
Inseob Kim9add20f2020-05-06 22:20:35 +0900555
556neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900557 domain
Inseob Kim9add20f2020-05-06 22:20:35 +0900558 -init
559} {
560 libc_debug_prop
561}:property_service set;
Inseob Kim36aeb162020-05-08 20:42:25 +0900562
Mitch Phillips8cd32cd2022-03-22 15:59:57 -0700563# Allow the shell to set MTE & GWP-ASan props, so that non-root users with adb
564# shell access can control the settings on their device. Allow system apps to
565# set MTE props, so Developer Options can set them.
Mitch Phillipseaf14042020-12-03 17:23:06 -0800566neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900567 domain
Mitch Phillipseaf14042020-12-03 17:23:06 -0800568 -init
569 -shell
Florian Mayer39f29f72021-12-21 12:06:31 -0800570 -system_app
Florian Mayer152f8322022-12-16 16:50:13 -0800571 -system_server
Florian Mayer51382a32022-09-21 14:53:48 -0700572 -mtectrl
Mitch Phillipseaf14042020-12-03 17:23:06 -0800573} {
574 arm64_memtag_prop
Mitch Phillips8cd32cd2022-03-22 15:59:57 -0700575 gwp_asan_prop
Mitch Phillipseaf14042020-12-03 17:23:06 -0800576}:property_service set;
577
Inseob Kim36aeb162020-05-08 20:42:25 +0900578neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900579 domain
Inseob Kim36aeb162020-05-08 20:42:25 +0900580 -init
Alice Ryhl6b9aa6d2024-02-21 15:18:14 +0000581 -shell
582 -kcmdlinectrl
583} {
584 kcmdline_prop
585}:property_service set;
586
587neverallow {
588 domain
589 -init
Inseob Kim36aeb162020-05-08 20:42:25 +0900590 -system_server
591 -vendor_init
592} zram_control_prop:property_service set;
Inseob Kim1337e152020-05-12 22:51:48 +0900593
594neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900595 domain
Inseob Kim1337e152020-05-12 22:51:48 +0900596 -init
597 -system_server
598 -vendor_init
599} dalvik_runtime_prop:property_service set;
Inseob Kimdc1e5012020-04-27 21:13:01 +0900600
601neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900602 domain
Inseob Kimdc1e5012020-04-27 21:13:01 +0900603 -coredomain
604 -vendor_init
605} {
606 usb_config_prop
607 usb_control_prop
608}:property_service set;
Inseob Kim3b82aec2020-05-14 01:38:40 +0900609
610neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900611 domain
Inseob Kim3b82aec2020-05-14 01:38:40 +0900612 -init
613 -system_server
614} {
615 provisioned_prop
616 retaildemo_prop
617}:property_service set;
618
619neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900620 domain
Inseob Kim3b82aec2020-05-14 01:38:40 +0900621 -coredomain
622 -vendor_init
623} {
624 provisioned_prop
625 retaildemo_prop
626}:file no_rw_file_perms;
Inseob Kim15e5e0a2020-05-14 19:43:08 +0900627
628neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900629 domain
Inseob Kim15e5e0a2020-05-14 19:43:08 +0900630 -init
631} {
632 init_service_status_private_prop
633 init_service_status_prop
634}:property_service set;
Inseob Kimad631702020-05-14 21:47:43 +0900635
636neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900637 domain
Inseob Kimad631702020-05-14 21:47:43 +0900638 -init
639 -radio
640 -appdomain
641 -hal_telephony_server
Inseob Kim285da2f2020-06-04 20:29:43 +0900642 not_compatible_property(`-vendor_init')
Inseob Kimad631702020-05-14 21:47:43 +0900643} telephony_status_prop:property_service set;
Peiyong Lin37dea072020-06-03 12:20:41 -0700644
645neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900646 domain
Peiyong Lin37dea072020-06-03 12:20:41 -0700647 -init
648 -vendor_init
649} {
650 graphics_config_prop
651}:property_service set;
Inseob Kim6ffdf1b2020-06-16 20:00:41 +0900652
653neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900654 domain
Amy Hsu0f352fb2020-06-15 17:04:12 +0800655 -init
Midas Chien0d0391f2020-06-17 22:13:21 +0800656 -surfaceflinger
Amy Hsu0f352fb2020-06-15 17:04:12 +0800657} {
658 surfaceflinger_display_prop
659}:property_service set;
660
Inseob Kim072b0142020-06-16 20:00:41 +0900661neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900662 domain
Inseob Kim5eacf722020-07-01 01:27:49 +0900663 -coredomain
664 -appdomain
Inseob Kim6ffdf1b2020-06-16 20:00:41 +0900665 -vendor_init
Inseob Kim6ffdf1b2020-06-16 20:00:41 +0900666} packagemanager_config_prop:file no_rw_file_perms;
Inseob Kim04f435c2020-07-07 12:46:24 +0900667
668neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900669 domain
Inseob Kim04f435c2020-07-07 12:46:24 +0900670 -coredomain
671 -vendor_init
672} keyguard_config_prop:file no_rw_file_perms;
Alexander Mishkovetsf0be89b2020-07-08 23:11:03 +0200673
674neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900675 domain
Alexander Mishkovetsf0be89b2020-07-08 23:11:03 +0200676 -init
677} {
678 localization_prop
679}:property_service set;
Inseob Kimc80b0242020-07-16 22:25:47 +0900680
681neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900682 domain
Inseob Kimc80b0242020-07-16 22:25:47 +0900683 -init
684 -vendor_init
685 -dumpstate
686 -system_app
687} oem_unlock_prop:file no_rw_file_perms;
688
689neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900690 domain
Inseob Kimc80b0242020-07-16 22:25:47 +0900691 -coredomain
692 -vendor_init
693} storagemanager_config_prop:file no_rw_file_perms;
694
695neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900696 domain
Inseob Kimc80b0242020-07-16 22:25:47 +0900697 -init
698 -vendor_init
699 -dumpstate
700 -appdomain
701} sendbug_config_prop:file no_rw_file_perms;
Inseob Kimc97a97c2020-07-20 20:26:07 +0900702
703neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900704 domain
Inseob Kimc97a97c2020-07-20 20:26:07 +0900705 -init
706 -vendor_init
707 -dumpstate
708 -appdomain
709} camera_calibration_prop:file no_rw_file_perms;
Inseob Kim46dd4be2020-08-18 11:25:32 +0900710
711neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900712 domain
Inseob Kim46dd4be2020-08-18 11:25:32 +0900713 -init
714 -dumpstate
Jeff Vander Stoep684d25b2020-08-25 11:41:00 +0200715 -hal_dumpstate_server
Inseob Kim46dd4be2020-08-18 11:25:32 +0900716 not_compatible_property(`-vendor_init')
717} hal_dumpstate_config_prop:file no_rw_file_perms;
Primiano Tuccicd452302020-10-09 09:15:10 +0100718
719neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900720 domain
Primiano Tuccicd452302020-10-09 09:15:10 +0100721 -init
Yabin Cuibd4c9e82021-03-18 11:15:36 -0700722 userdebug_or_eng(`-profcollectd')
Yabin Cuif17fb422021-11-24 14:06:07 -0800723 userdebug_or_eng(`-simpleperf_boot')
Primiano Tuccicd452302020-10-09 09:15:10 +0100724 userdebug_or_eng(`-traced_probes')
Florian Mayer167407d2020-11-11 11:01:36 +0000725 userdebug_or_eng(`-traced_perf')
Primiano Tuccicd452302020-10-09 09:15:10 +0100726} {
727 lower_kptr_restrict_prop
728}:property_service set;
Janis Danisevskis202e8632020-10-23 11:16:34 -0700729
Inseob Kimd5a04482020-11-05 22:17:26 +0900730neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900731 domain
Inseob Kimd5a04482020-11-05 22:17:26 +0900732 -init
733} zygote_wrap_prop:property_service set;
734
735neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900736 domain
Inseob Kimd5a04482020-11-05 22:17:26 +0900737 -init
738} verity_status_prop:property_service set;
739
740neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900741 domain
Inseob Kimd5a04482020-11-05 22:17:26 +0900742 -init
Jeongik Cha6cb91a02023-11-15 22:51:14 +0900743 -vendor_init
744} setupwizard_mode_prop:property_service set;
745
746neverallow {
747 domain
748 -init
Inseob Kimd5a04482020-11-05 22:17:26 +0900749} setupwizard_prop:property_service set;
Inseob Kim99855662020-11-12 22:21:51 +0900750
751# ro.product.property_source_order is useless after initialization of ro.product.* props.
752# So making it accessible only from init and vendor_init.
753neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900754 domain
Inseob Kim99855662020-11-12 22:21:51 +0900755 -init
756 -dumpstate
757 -vendor_init
758} build_config_prop:file no_rw_file_perms;
Inseob Kim0cef0fe2020-11-17 13:54:52 +0900759
760neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900761 domain
Inseob Kim0cef0fe2020-11-17 13:54:52 +0900762 -init
763 -shell
764} sqlite_log_prop:property_service set;
765
766neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900767 domain
Inseob Kim0cef0fe2020-11-17 13:54:52 +0900768 -coredomain
769 -appdomain
770} sqlite_log_prop:file no_rw_file_perms;
Inseob Kim4c110ff2020-11-26 21:50:23 +0900771
Inseob Kim5c011e52021-01-14 04:08:16 +0000772neverallow {
Inseob Kim85acf6e2021-03-10 10:42:23 +0900773 domain
Inseob Kim5c011e52021-01-14 04:08:16 +0000774 -init
775} default_prop:property_service set;
776
Inseob Kim4c110ff2020-11-26 21:50:23 +0900777# Only one of system_property_type and vendor_property_type can be assigned.
778# Property types having both attributes won't be accessible from anywhere.
779neverallow domain system_and_vendor_property_type:{file property_service} *;
JW Wang0f8cf042021-02-24 14:29:06 +0800780
781neverallow {
Seth Moore8bfdd822022-04-20 10:10:49 -0700782 domain
783 -init
Max Bires9692ad42024-08-08 22:05:03 +0000784 -keystore
Seth Moored3bd6862023-02-24 11:50:51 -0800785 -shell
Max Bires9692ad42024-08-08 22:05:03 +0000786 -system_server
Vikram Gaur01390082023-03-16 01:41:29 +0000787 -rkpdapp
Seth Moore8bfdd822022-04-20 10:10:49 -0700788} remote_prov_prop:property_service set;
789
790neverallow {
Vikram Gaurf6c6f452024-09-05 23:00:09 +0000791 domain
792 -init
793} remote_prov_cert_prop:property_service set;
794
795neverallow {
JW Wang0f8cf042021-02-24 14:29:06 +0800796 # Only allow init and shell to set rollback_test_prop
Inseob Kim85acf6e2021-03-10 10:42:23 +0900797 domain
JW Wang0f8cf042021-02-24 14:29:06 +0800798 -init
799 -shell
800} rollback_test_prop:property_service set;
Yi Kong9b658452021-03-22 22:02:22 +0800801
802neverallow {
Jooyung Hanccfb0ef2022-07-07 15:42:39 +0900803 domain
804 -init
Jooyung Hanccfb0ef2022-07-07 15:42:39 +0900805 -apexd
806} ctl_apex_load_prop:property_service set;
807
808neverallow {
809 domain
810 -coredomain
811 -init
812 -dumpstate
813 -apexd
Deyao Ren3fab00f2022-08-30 19:14:51 +0000814} ctl_apex_load_prop:file no_rw_file_perms;
Jooyung Hanccfb0ef2022-07-07 15:42:39 +0900815
816neverallow {
Deyao Ren7848d3a2022-09-01 22:20:10 +0000817 domain
818 -init
819 -apexd
820} apex_ready_prop:property_service set;
821
822neverallow {
823 domain
824 -coredomain
825 -dumpstate
826 -apexd
Jooyung Hancae23682022-09-02 16:26:27 +0900827 -vendor_init
Deyao Ren7848d3a2022-09-01 22:20:10 +0000828} apex_ready_prop:file no_rw_file_perms;
Inseob Kim55e5c9b2020-03-04 17:20:35 +0900829
830neverallow {
831 # Only allow init and profcollectd to access profcollectd_node_id_prop
832 domain
833 -init
834 -dumpstate
835 -profcollectd
836} profcollectd_node_id_prop:file r_file_perms;
837
Jiyong Parkc4f84bc2022-09-18 23:09:53 +0900838neverallow {
839 domain
840 -init
841} log_file_logger_prop:property_service set;
Avichal Rakesha12d3102023-01-23 23:46:42 -0800842
843neverallow {
844 domain
845 -init
846 -vendor_init
847} usb_uvc_enabled_prop:property_service set;
Avichal Rakeshe2cb0f22023-02-01 15:56:40 -0800848
849# Disallow non system apps from reading ro.usb.uvc.enabled
850neverallow {
851 appdomain
852 -system_app
853 -device_as_webcam
854} usb_uvc_enabled_prop:file no_rw_file_perms;
Inseob Kime972e932024-04-11 00:56:13 +0000855
856neverallow {
857 domain
858 -init
859 -vendor_init
860} pm_archiving_enabled_prop:property_service set;
Kalesh Singhf3fb64a2024-08-28 16:53:37 +0000861
862neverallow {
863 domain
864 -init
865 userdebug_or_eng(`-su')
866} bionic_linker_16kb_app_compat_prop:property_service set;