Zope AccessControl vulnerable to information disclosure through Python string `format` and `format_map` functions
Python's string format functionality allows someone controlling the format string to "read" objects accessible (recursively) via attribute access and subscription from accessible objects. Those attribute accesses and subscriptions use Python's full blown getattr and getitem, not the policy restricted AccessControl variants getattr and getitem. This can lead to critical information disclosure. The AccessControl package already guards against direct access to the formatting functions on string instances, but these mitigations did …