Permission model improperly protects against path traversal