reject unreasonably long mailbox names from IMAP LIST
this wasn't really a security problem, as the name mapping we actually do does not change the string length, and the iteration was already safe after the literal length fix, but it's still better to catch weird input.
This commit is contained in:
parent
92921b1d3b
commit
127003ee37
1 changed files with 4 additions and 0 deletions
|
@ -1439,6 +1439,10 @@ parse_list_rsp_p2( imap_store_t *ctx, list_t *list, char *cmd ATTR_UNUSED )
|
|||
}
|
||||
arg = list->val;
|
||||
argl = (int)list->len;
|
||||
if (argl > 1000) {
|
||||
warn( "IMAP warning: ignoring unreasonably long mailbox name '%.100s[...]'\n", arg );
|
||||
return LIST_OK;
|
||||
}
|
||||
// The server might be weird and have a non-uppercase INBOX. It
|
||||
// may legitimately do so, but we need the canonical spelling.
|
||||
normalize_INBOX( ctx, arg, argl );
|
||||
|
|
Loading…
Add table
Reference in a new issue