An improper access control vulnerability exists in janeczku/calibre-web. The affected version allows users without public shelf permissions to create public shelves. The vulnerability is due to the `create_shelf` method in `shelf.py` not verifying if the user has the necessary permissions to create a public shelf. This issue can lead to unauthorized actions being performed by users.
https://huntr.com/bounties/29fcc091-87b6-43bc-ab4b-3c0bec3f71df
https://github.com/janeczku/calibre-web/commit/bcdc97641447965af486964537f3821f47b28874