omemo: errors while parsing device bundle should be handled
Please first check if another issue has been opened for your problem
Versions
- OS: NixOS
- Gajim version: 1.3.3
- Plugin version: 2.7.15
- GTK version: 3.24.33
- Python-nbxmpp version: 2.0.6
Steps to reproduce the problem
- publish the following device bundle to PEP
<items node="eu.siacs.conversations.axolotl.bundles:1008383132">
<item xmlns="http://jabber.org/protocol/pubsub" id="current">
<bundle xmlns="eu.siacs.conversations.axolotl">
<signedPreKeyPublic signedPreKeyId="2789595140">BcPmHqktmeG+DMrrAJPUHBYQ+M+PfjuoBMKBNOV+QwQT</signedPreKeyPublic>
<signedPreKeySignature>hHYJELdF6UeQBbNV2X6IbvYR5YxKYLm4s2JSNnYe85jRWMSHgenDYYANZ02OkwIC05hKH/Ao7Eyxc+fqu5hYjw==</signedPreKeySignature>
<identityKey>BXxbRxGLJdjmTQ6Kuy0V/IcObouQp0uJDFWivSegnKAa</identityKey>
<prekeys>
<preKeyPublic preKeyId="1844271005">BXP4huhrDVU90cb60AwvoJwsXJ2M+EFQY1G/TTmUHqF1</preKeyPublic>
<preKeyPublic preKeyId="3176684405">BWUKLahbyCKbqafccCkIiN4kE4b4db9r3ek0yiAMNEMb</preKeyPublic>
<preKeyPublic preKeyId="3010309100">BQxzci8I8e6Kgecq6FC75Y1GA+TsVFPIo4hu+OqkZt4O</preKeyPublic>
<preKeyPublic preKeyId="1836532948">BW335Kj+rwX/5EgGPyeaZTi3dvhIgPICYMxgJLv973JV</preKeyPublic>
<preKeyPublic preKeyId="4134180107">BVgQs9qaW2Zl9oyKluLb/7M8QHpanwm4YBs1SU1Yft10</preKeyPublic>
<preKeyPublic preKeyId="4026452296">BUq+7yiDi8HG/R9hFmpP7XXX4UIw5v/OoAK/CwW7Co4P</preKeyPublic>
<preKeyPublic preKeyId="694129215">BT/z/9JZvQ1s4nCXJIg2hECwv8HUS9jChQ4EzArXe3Mr</preKeyPublic>
<preKeyPublic preKeyId="2755224190">BQCzA4hT3o77l5W/RNlvyCV8pyrZxfwPCiJO2FFdo5Zg</preKeyPublic>
<preKeyPublic preKeyId="1668516648">BUL0ZcFxwYqrdG8aLjEgoAxfcEHU5C9oUsvTgrtlSngg</preKeyPublic>
<preKeyPublic preKeyId="565124753">Bbi2KZ2v+RMWCaVPpmWidz4A9oylgADeXmsK4lE53kIT</preKeyPublic>
<preKeyPublic preKeyId="3916637416">BZfAA5464h5n1m0xfVe5tRSmH16fg4Imhlsq5bd6xIo1</preKeyPublic>
<preKeyPublic preKeyId="3216606008">BcmPeOGubAGvXLApRgF1DGKgp0SneMeBdJN1IjNri7ld</preKeyPublic>
<preKeyPublic preKeyId="1263138479">BYkpVndY35yWvPePh2RPWlKxL39kJKntzt0zfS1+Vi8U</preKeyPublic>
<preKeyPublic preKeyId="212073666">BdDrovE58d99cFRjXOtulpZ0LJ6NdLFbqkFtiDhDZSgP</preKeyPublic>
<preKeyPublic preKeyId="3707235956">BQe7X5FrKdbiqYDrps0X5xAWQKQ7F1SDEn18TPZvQJ0n</preKeyPublic>
<preKeyPublic preKeyId="447772731">Be4aRa5vYcfCzJy/NIf9fRg9BpnWOMdf/i2HOm05EmdH</preKeyPublic>
<preKeyPublic preKeyId="754772538">BQz3oI2a0noXoq14UKkI17vH9iI5ST7nmrr+un5MgadM</preKeyPublic>
<preKeyPublic preKeyId="2881350263">BeaGckGSF1bqo+CMoXZwGXNeODVjyCrJlXzbZy3KmokN</preKeyPublic>
<preKeyPublic preKeyId="952256939">BQHtJcTpPekLktBeZKM+7e8HV4jnGPDFbZ03AGlEUpBV</preKeyPublic>
<preKeyPublic preKeyId="2748708441">BfdHTOOZeSikwhhDhvPEQx+k6nqV16dOcnc8kt1kVNsR</preKeyPublic>
<preKeyPublic preKeyId="2947480437">BVaFq0d3Ob4obRe4dZpXa2GoEBgFWHaE8rPADkna5dp/</preKeyPublic>
<preKeyPublic preKeyId="3512768683">BQBZOrWDLsXiPV4SStBhgEyDcsjBsJ3hJ7lYECwgQQZ9</preKeyPublic>
<preKeyPublic preKeyId="1525428595">BUrA07V/Rt9g5yvGFXJJpUEj4eRzsSgZL52We1BMIxQ9</preKeyPublic>
<preKeyPublic preKeyId="79681177">BRk+BPMTMIp/lUzx0rZAV+iyf15VrWr373PNYKGGqs5z</preKeyPublic>
<preKeyPublic preKeyId="2145164471">BQMKSToRKOqL0UTlTW8A7xm3e81TeG9PsUnbpnO+FRxA</preKeyPublic>
<preKeyPublic preKeyId="2379881467">Bawu5sbumkvA1cshVJ2G/N31629SRjmI0GInN2wyLzZw</preKeyPublic>
<preKeyPublic preKeyId="1249094009">BfhmPE+tAilaihPJk8hFWsnF/0BULHyPrFj9vEA8vHxC</preKeyPublic>
<preKeyPublic preKeyId="3104905780">BVUBEjY8IoouebDYEPoRdtVcAcDiyNRGExl/VZYTd3ZI</preKeyPublic>
<preKeyPublic preKeyId="25988907">BXNKrH9PuljPiQVvCiU9wo5ZQ0Bf53CyFrKnz17enqFz</preKeyPublic>
<preKeyPublic preKeyId="1000691280">BaZHd0sriVdt8GzOep4qIjdkVDdN/Uc4wtROKYifw68m</preKeyPublic>
<preKeyPublic preKeyId="94852818">BeSJ/lcrmMdfs0MKYySs4vtIj/NJtmrX0bTSGiNjQC9G</preKeyPublic>
<preKeyPublic preKeyId="3019275572">BX2e9NcEFoCYHVxoeVZ9BTX1qic0JcqHs/Zfms5hgDIU</preKeyPublic>
<preKeyPublic preKeyId="1692675383">BWFJok01GCy4Kq67h3QlIlrEqFBljjmSkHyYKCbQqUkt</preKeyPublic>
<preKeyPublic preKeyId="1060530425">BTMofFP+c1lb5U9z7Ci5Df9Gcvc3rlN1ZvqSi9ZmXHJ2</preKeyPublic>
<preKeyPublic preKeyId="4172353948">BVCwlo4VHH2MRAgjyTNK8u+3qYU7M2bzzz5b/+TytEsu</preKeyPublic>
<preKeyPublic preKeyId="4247397308">BbC2z4h/lJ/PyF6fLp1jm8fzBWbGHdaGi37MXsQQiDdR</preKeyPublic>
<preKeyPublic preKeyId="732205056">BcNQ/okbL6ePsK5864R4MTsFm8DRv1ZBsFg3Fly23N0e</preKeyPublic>
<preKeyPublic preKeyId="2755368999">BXtLvlBB2K+ZYEDCeh6ENjIxgf+8t9UnUQk0hcrwjTYb</preKeyPublic>
<preKeyPublic preKeyId="3311473663">BSD8yAZ6H47EAOiwwC93sOjsX/1aRk6z34/wOxBw7eYj</preKeyPublic>
<preKeyPublic preKeyId="1989571921">BUwMaxoFyCyNUZZAMrHO2L/1RQnvqFSkpLpR6kSphNBw</preKeyPublic>
<preKeyPublic preKeyId="315883912">Bd7mlmaMEOlc8fIvRTCHIf4g3/bec0bO+UUqmghDAsx7</preKeyPublic>
<preKeyPublic preKeyId="1800303075">BQkw9yXIx5X8sQFAmhjaE51pM+fAH1bjaHDz/UBs1gIb</preKeyPublic>
<preKeyPublic preKeyId="1307618963">Bchm81BpijkmVZQI0P3pHxLgxcVm3Cq+syoYgEUbFVgB</preKeyPublic>
<preKeyPublic preKeyId="75373608">BYFBGnnseSnBSbHgmZLtqWp7/XojCwm8s1Llct/tk9Um</preKeyPublic>
<preKeyPublic preKeyId="831671932">Bf3U1eqNG0huN/uVUggzPUpNcrsHNVP/RWOH0FqgRzIA</preKeyPublic>
<preKeyPublic preKeyId="2759374354">BWaJQNSjR4LNhpsmVukD2cAD36/LQCSejqwEoKJK1jBs</preKeyPublic>
<preKeyPublic preKeyId="2411813814">BZYjhNopwak5IY3Jv4drmkNsDbJ6WFDpyVD2k1I5YtUe</preKeyPublic>
<preKeyPublic preKeyId="943573880">Ba4PW9XQQ+BZ0I/TlyEMLFeVChoNqgvBsLzRWr+SYgVW</preKeyPublic>
<preKeyPublic preKeyId="1986596055">BfjnRP/cBsvN2N7dJQFxjTs/id/JOt3fN9wKF/zOC4wB</preKeyPublic>
<preKeyPublic preKeyId="4029901265">Bb1YIgHJ5AMbDgDXjXXgUGTLT6WWvzKyAUGL6DSr0mp+</preKeyPublic>
<preKeyPublic preKeyId="3539830942">Bbr+LBA6fdFpisn5iSrmJgMctq59g64xptlHd+JiBn88</preKeyPublic>
<preKeyPublic preKeyId="4244881766">BYDma3Fd6U9i61LDvpA6Spn41If+wQTASCcNZo06eUNf</preKeyPublic>
<preKeyPublic preKeyId="971663615">BewVMBjRRHIQanFr+3NRN1CsQns37YKASyclgvDU7ykE</preKeyPublic>
<preKeyPublic preKeyId="688695333">Bf/VSiR+/GIDY1FrtbUBfif3jhbfsqxPNu0bmcSc0wpl</preKeyPublic>
<preKeyPublic preKeyId="3392298407">Bbi5GLHlZIubIREsYl/J1EcJIO5LN3vtP06zN+KRP0AG</preKeyPublic>
<preKeyPublic preKeyId="1817794737">BUI7ArYY0Ih9SOYhMOvjk72fVX/BSoLaPE8YwP2IZGJ9</preKeyPublic>
<preKeyPublic preKeyId="2686799250">BaajKCYlC/r69qH0XKtywVTZmNjwZ7iyFKfgS5JwzuMd</preKeyPublic>
<preKeyPublic preKeyId="3239398680">BeOJtEOfv6/6akdErsH+OhTRJ+xMFTUZclNf4m5ckvgI</preKeyPublic>
<preKeyPublic preKeyId="4043957325">BYzlv3dC7Mu3Rg5ahxyQ6RYuWrwLbc6I8M7L6IlVt2NV</preKeyPublic>
<preKeyPublic preKeyId="3502630213">BYR/jLPUFv5HNI0b+xN3P6VEpA7lwEYckLRG9DpGjJ8x</preKeyPublic>
<preKeyPublic preKeyId="5667100">Bb7iK/mbT9C1HMILvWgVSz5e4bHtlVL9abc5ZyH/dPU7</preKeyPublic>
<preKeyPublic preKeyId="2855360513">BZREQNmNpcsGV+LnKng8dzJYKBSOXDhA/s/OMbwsHTFu</preKeyPublic>
<preKeyPublic preKeyId="3145065846">Bc/lWI5qCLhTzEqq0Htug5VCE+Xx7e/nsl5DyedwFFl0</preKeyPublic>
<preKeyPublic preKeyId="194032472">Ba/sYSnXcvuEFrK/durqW6SdfVTlbr6w6DZ+ROPA2UpE</preKeyPublic>
<preKeyPublic preKeyId="1165667041">BdKKmNasmSDRpqoZRji1bKnp/brerT5ygyNfyzuDD+lz</preKeyPublic>
<preKeyPublic preKeyId="1008760520">BYtzpWw9QugJKIIrgsQrhf1fgZZ30EVp82oZ/EpXVTlq</preKeyPublic>
<preKeyPublic preKeyId="1471159854">BYyOdbgkVz6hkYtoQVwbIt1PNtmlPmZ9plQVwM4PyQh4</preKeyPublic>
<preKeyPublic preKeyId="2712000742">BU+zWo/pKHFGj1aP1qtNOOrV1M/wykepPW+Vq07Z7qwt</preKeyPublic>
<preKeyPublic preKeyId="1618274996">BVOKFoW1Qd3uyGwfm7mJvjkYUGzENS3Pfv0/GhyuWuIW</preKeyPublic>
<preKeyPublic preKeyId="3768418173">Bc2o4AonpPrpEI7kDLr+AigfKuKzSyBLpTNYg+PwfdI4</preKeyPublic>
<preKeyPublic preKeyId="1659054376">BVdaQZZ4Mx5gFYT7eRHaiFSiF8rFIBtvvns7tTjCfSYy</preKeyPublic>
<preKeyPublic preKeyId="899637602">BW0qSc13lri2UDRjQbrFBTowUthjQP2l/6nHqtKAcMxd</preKeyPublic>
<preKeyPublic preKeyId="944894888">BfGEFM/PP3IqFaDTf9GIFThzXju33qFQHNLcX5PtYXVW</preKeyPublic>
<preKeyPublic preKeyId="3647530602">BUlZyOb/ow/vjU1yH9kesiRQgiWxt5Wm8swmoKD+6nId</preKeyPublic>
<preKeyPublic preKeyId="934879298">BUUn6DnSGzuTZVAzR+im1lYLxABYtZoJnkcJGovoxNJW</preKeyPublic>
<preKeyPublic preKeyId="3437370108">BQK4kdZr849AAqvUnaC3Hg4LFPtbKeVKmnMpZCWX4hUl</preKeyPublic>
<preKeyPublic preKeyId="3479174468">BcWX/rQgzcHVwD/Syn5Wo1oixqCcaa5BqkWsoCUu2mNB</preKeyPublic>
<preKeyPublic preKeyId="1008902556">BT0zAppdTUrbnhxQeOapRVrygd2xGXyN/djhD8Szr5cP</preKeyPublic>
<preKeyPublic preKeyId="2187040037">Bc/QBJnrQD4g2lJScmzUCA1jkd6OFmCTy3lfBcKOhexC</preKeyPublic>
<preKeyPublic preKeyId="686788460">BZcIrBSmKlJO5OviPBWJiVN+9mZs3qcpivkUAvZocLVK</preKeyPublic>
<preKeyPublic preKeyId="2782014107">BZwGVCXnl/7unLLoMsvuwU057GASpKrHaZZ1E0eJfZkT</preKeyPublic>
<preKeyPublic preKeyId="4185073497">Bd2hynVMMRjQplMXMFLimsQwDA3tVS7MqpOGCa3eeKwz</preKeyPublic>
<preKeyPublic preKeyId="3158040358">BaAVbb3lc2Qq/VisQx8XCIl8l8B97fFstn25nEfyAx8Y</preKeyPublic>
<preKeyPublic preKeyId="762347655">BVnZe5vo3JSViO4vBKc4CmTkkwSS9iq6XrHeZnDJ6k5e</preKeyPublic>
<preKeyPublic preKeyId="3955344980">BczuuJJjLdOyLNhHt4t2c6I46w62r7226fi2XdluY4Jt</preKeyPublic>
<preKeyPublic preKeyId="314521158">BdbE6kJgue2am9sry0tSYVJX9aa1gehkghneZ76TJdYP</preKeyPublic>
<preKeyPublic preKeyId="3518915283">BeVwgP55MiO56grJ573c1usJD/wO7xIqM+0oS/BfGqpA</preKeyPublic>
<preKeyPublic preKeyId="4276517523">BbG+AvFjxc9OdXFTFWvNzHlUQctknzQ/61UaEhxpB44q</preKeyPublic>
<preKeyPublic preKeyId="1987378806">BcB/f2hmC7uar1kuK8/uL+aucugX5wGNz2hsreXgWZRr</preKeyPublic>
<preKeyPublic preKeyId="2078000022">BXVaEg+aZfD1oe7HDPoZI1t0z7KCpdtuqGR/8umulOIK</preKeyPublic>
<preKeyPublic preKeyId="2301019750">BXIZVNAwHikKwnJZm03Qrg1h/Et3yXG0tcD4GwP1nSw/</preKeyPublic>
<preKeyPublic preKeyId="2952757068">BWIJkFNp+fZ0qxX6TXr658lZfrLUQ0+qllHAv2ZkIxxo</preKeyPublic>
<preKeyPublic preKeyId="187517896">BZMFui0zFnsn1Ee2BrY6WpVY55f5rFITYfq2+nGtKo9k</preKeyPublic>
<preKeyPublic preKeyId="1081969823">BWpa3mRv/TH1OABGxsnTnoUxO2+mcM/YL9mR5udZY1FS</preKeyPublic>
<preKeyPublic preKeyId="2614806670">BcD9OX2BKZ2+B3O+8vZa1nHCJknNDYB/puwcb2JYZk56</preKeyPublic>
<preKeyPublic preKeyId="3457226391">BduMsi77oQI/Iew+/GsdhyW2SXGTQU3ja6JR6zIAVrdu</preKeyPublic>
<preKeyPublic preKeyId="3111437167">BX2ZiD8JRyrZr2m4Syeq9v2eshtA0Fr/s6f4jimUj0Y4</preKeyPublic>
<preKeyPublic preKeyId="2864879528">BbDdzqqRVf4FJOtkHJa5sfF6AbUzB3d25mGykmg/Z4Yb</preKeyPublic>
<preKeyPublic preKeyId="3821819100">BQVmitgkMQFGyP38ccPJQQY+s0nP0kl4reFmQWiJ0w9s</preKeyPublic>
<preKeyPublic preKeyId="3170471113">Beog35Y3bw7J8GitsTitIk8IoSBuX1NJnAfA5uLGN4AU</preKeyPublic>
</prekeys>
</bundle>
</item>
</items>
Expected behavior
Depending on which spec version you read, this bundle could be valid or invalid. It contains prekeys with ids >= 2^31. It's fine if gajim can not handle this bundle, however, the bad bundle should be ignored and encryption between gajim and other devices should continue to work
Actual behavior
It crashes and probably doesn't request the remaining device bundles? Anyways, some other conversations devices can not decrypt the messages that are produced by gajim afterwards.
04/04/2022 23:10:19 (E) nbxmpp.task Fatal Exception
Traceback (most recent call last):
File "/nix/store/v1244aar892zdrm6wfd9p4n7nwgs5vxz-python3.9-nbxmpp-2.0.6/lib/python3.9/site-packages/nbxmpp/task.py", line 184, in _next_step
res = self._gen.send(result)
File "/home/yuka/.local/share/gajim/plugins/omemo/modules/omemo.py", line 436, in request_bundle
self.backend.build_session(jid, device_id, bundle)
File "/home/yuka/.local/share/gajim/plugins/omemo/backend/state.py", line 87, in build_session
session.processPreKeyBundle(prekey_bundle)
File "/nix/store/h1007j4wcfc77mdr2bdsp4fh5msr0hmn-python3.9-python-axolotl-0.2.3/lib/python3.9/site-packages/axolotl/sessionbuilder.py", line 124, in processPreKeyBundle
sessionRecord.getSessionState().setUnacknowledgedPreKeyMessage(theirOneTimePreKeyId,
File "/nix/store/h1007j4wcfc77mdr2bdsp4fh5msr0hmn-python3.9-python-axolotl-0.2.3/lib/python3.9/site-packages/axolotl/state/sessionstate.py", line 240, in setUnacknowledgedPreKeyMessage
self.sessionStructure.pendingPreKey.signedPreKeyId = signedPreKeyId
ValueError: Value out of range: 2789595140