Finding collisions for XOR of many hashes There's a collision-resistant hash function $H$.

Given $x$, how  hard would it be to find a set $a[i]$ such that:

$H(a[1]) \oplus H(a[1]) \oplus \cdots \oplus H(a[N]) = H(x)$

whereas none of $a[i]$ equals to $x$?
This question is studied extensively in the paper


A New Paradigm for Collision-free Hashing: Incrementality at Reduced Cost by Bellare &amp; Micciancio


In appendix A, they describe how to break the one-wayness of the function $H(x_1,\ldots, x_n) = h(x_1) \oplus h(x_2) \oplus \cdots \oplus h(x_n)$. The idea is as @SEJPM suggests in the comments above: XOR is the operation of a vector space over $\{0,1\}^\ell$ (where $\ell$ is the output length of $h$). Sufficienctly many $h(x_i)$'s form a basis for this vector space. Once you have a basis, you can easily solve for a subset of basis vectors that XOR to any desired value.