Major security hole on a local replica with reader fields?
For over 8 years of development with Lotus Notes, I have always been under the unshakable belief that Lotus Notes security was VERY strong, as long as you know how to use READER fields on your documents.
If your name (or role, or group) is NOT in a reader field on a document, the document simply doesn’t exist for you.
Or does it?
Create a document with a reader field.
Put a role in the reader field.
Create a view that shows the document.
Create a new form with a computed for display value:
@DbColumn (“”:“NoCache” ; “” ; ; 1);
Create a local replica of the database and make the option “Enforce a consistent access list across all replicas” is selected
Make sure you are a member of that role
Replicate the database while you have access to document
You now have a replica of the database containing a document protected with a reader field.
If you remove yourself from the role in the ACL, you should never be able to see that document anymore:
If you access the view, it shows no document
If you create a new document using the form, the computed for display formula is activated and the @dbcolumn WILL COMPILE ALL THE VALUES of the documents you cannot access!!!
This behaviour is incorrect only on local. On the server, the @dbcolumn function only compiles the data from the documents you are allowed to read.
I was even more astonished when I preformed a search on the R4/R5 forums, and found out that this behaviour was first observed in R5, over 2 years ago, and was never corrected!!!
I am aware that no security model is really secure locally, but this is a MAJOR security hole, because it also has a serious impact on application development: you now have a different behaviour in a local VS a server replica, and you cannot use the reader field as a natural “document sorter” anymore. (If you do, you must then assume that a mobile user could replicate the database and eventually see lookup results he is not supposed to see).
Will IRIS patch this security hole once and for all ?
Nicolas Abesdris / PCLP