Re: [xmpp] IQ Handling vulnerabilities

Dave Cridland <> Fri, 07 February 2014 15:50 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id C3B801AC7EF for <>; Fri, 7 Feb 2014 07:50:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.378
X-Spam-Status: No, score=-1.378 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3JX4oJXZStSC for <>; Fri, 7 Feb 2014 07:50:54 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4003:c02::234]) by (Postfix) with ESMTP id 27EF41AC497 for <>; Fri, 7 Feb 2014 07:50:52 -0800 (PST)
Received: by with SMTP id i4so4382167oah.39 for <>; Fri, 07 Feb 2014 07:50:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=I7tEC06xO+Mw4WMyE4C1m8p+v1gkzAfyfgF3p8E18uo=; b=HutpoTsj5wxOu/zXT2/kto5WmWZDHXaaqXXgejelr9IEbcRKT3jyV23Tx5enoq2LG8 1bt+k/iJD5ugDf1TiCB754dvRtg6V+nopynYnoiwAoGzKJn3eec6znSz5S40H4dicy3Y efIIHiiRx0oV1vNFkmQY8PkHYNnD0wocaNS04=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=I7tEC06xO+Mw4WMyE4C1m8p+v1gkzAfyfgF3p8E18uo=; b=j4X9LEDYpYYn5mZbW+/8xiHLjX91zJv2KAL0tzxqgOOL7bbNK3OPIl0T/m8Sp69jwh MMzdLn9vBUZ3qD1vRXEVFdIC0GkL9Iuohjj76Bf1YK4RIVqq4BimKKyinjebjqTwiO2l T1dJVGfkhLL6faxOjVOz4I5gcb4OgE+88v+uuuqCAI/i4KZKebU8Ew9axPVg5xUFHlDe uXoti2f05rrnpv6RW6E2bBoATrVEErqw/A93xOZd409N6WQnJJkSXX5YSMzTPqqaVan/ cKka2XCiUvy8HBVOS31KgH5KUVWdKvIX/DkVeeOBwl5Ko+fmkWZ+csNZAiOBh8B2YvFd VhPg==
X-Gm-Message-State: ALoCoQle/HgQz+uIC/Kkm2t6Y/I7o1OU64BNCQIST6aAADrouUnL6oy9c9NJbsDtbKeEVYTnoPs7
MIME-Version: 1.0
X-Received: by with SMTP id wl18mr13380577obb.52.1391788251817; Fri, 07 Feb 2014 07:50:51 -0800 (PST)
Received: by with HTTP; Fri, 7 Feb 2014 07:50:51 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <>
Date: Fri, 7 Feb 2014 15:50:51 +0000
Message-ID: <>
From: Dave Cridland <>
To: "Joe Hildebrand (jhildebr)" <>
Content-Type: multipart/alternative; boundary=f46d041828305a3fe004f1d2f49e
Cc: Ben Campbell <>, XMPP Working Group <>
Subject: Re: [xmpp] IQ Handling vulnerabilities
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: XMPP Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 07 Feb 2014 15:50:56 -0000

On Fri, Feb 7, 2014 at 3:10 PM, Joe Hildebrand (jhildebr) <> wrote:

> On 2/7/14 2:46 AM, "Thijs Alkemade" <> wrote:
> >The property we really want from ids is that predicting the next one(s)
> >given
> >some historic ones is hard.
> (as individual)
> I agree with everything you said to this point.  However, I think we need
> to strengthen this a little: we want to ensure predicting the next one(s)
> in *any* way is hard.
> Luckily using the from address also mitigates this need slightly for some
> of the use cases.

What are the attacks possible against an entity using predictable stanza
ids, but which otherwise acts properly (ie, checks to/from on responses,

I'm a bit confused - if an entity isn't checking the to/from of the
responses, then sure there's a slew of attacks possible. If it *also* has
predictable ids, then the attacks are easier - but they're the same
attacks. Aren't they?

I'm not saying that we shouldn't generally recommend unpredictable ids - it
seems relatively simple and causes little harm - but cryptographically
secure ones seems overkill, and I'm always nervous of imposing unneeded
drains on the entropy store of a system.

Also, I've mentioned this elsewhere, but I'll mention it here too: much of
the XMPP community seems focussed on clients exhibiting this class of bug,
and attacks against those clients. I strongly suspect that not all servers
are immune to this, and the attacks on servers are likely to be just as