init: Weaken property override security only when spoofing safetynet

Change-Id: I1664b3b3fa0fc87bda683d53a56645f6d974ce01
Signed-off-by: Dmitrii <bankersenator@gmail.com>
This commit is contained in:
jhenrique09 2020-11-20 11:34:54 -03:00 committed by DigiGoon
parent 6054b4b2ac
commit df046af0e8

View file

@ -918,6 +918,9 @@ static const char *snet_prop_value[] = {
};
static void workaround_snet_properties() {
// Weaken property override security to set safetynet props
weaken_prop_override_security = true;
std::string error;
LOG(INFO) << "snet: Hiding sensitive props";
@ -925,6 +928,9 @@ static void workaround_snet_properties() {
for (int i = 0; snet_prop_key[i]; ++i) {
PropertySetNoSocket(snet_prop_key[i], snet_prop_value[i], &error);
}
// Restore the normal property override security after safetynet props have been set
weaken_prop_override_security = false;
}
// If the ro.product.[brand|device|manufacturer|model|name] properties have not been explicitly
@ -1296,9 +1302,6 @@ void PropertyLoadBootDefaults() {
}
}
// Weaken property override security during execution of the vendor init extension
weaken_prop_override_security = true;
// Update with vendor-specific property runtime overrides
vendor_load_properties();
@ -1313,9 +1316,6 @@ void PropertyLoadBootDefaults() {
// Workaround SafetyNet
workaround_snet_properties();
// Restore the normal property override security after init extension is executed
weaken_prop_override_security = false;
}
void PropertyLoadDerivedDefaults() {