Given a simplicial complex $K$, its simplicial cochain complex $C^\bullet(K) = C_\bullet(K)^\vee = Hom(C_\bullet(K), \mathbb{Z})$, as well as $p,q \in \mathbb{N}_0$ and $\sigma := \{ \sigma_0, \dots, \sigma_{p+q} \} \in K_{p+q}$, the Cup product is commonly defined as follows:
$$ \cup : C^p(K) \times C^q(K) \to C^{p+q}(K) \\ (\phi, \psi)(\sigma) \mapsto (\phi \cup \psi)(\sigma) := \phi(\{ \sigma_0, \dots, \sigma_p \}) \cdot \psi(\{ \sigma_p, \dots, \sigma_q \}) $$
Now, why is the resulting map $(\phi \cup \psi) : C_{p+q}(K) \to \mathbb{Z}$ actually linear, i. e. a group homomorphism $C^{p+q}(K) = Hom(C_{p+q}, \mathbb{Z})$? After all, it seems we have:
\begin{align*} (\phi \cup \psi)(\sigma + \sigma) & = (\phi \cup \psi)(\{ \sigma_0, \dots, \sigma_{p+q}\} + \{ \sigma_0, \dots, \sigma_{p+q}\}) \\ & = \phi(\{ \sigma_0, \dots, \sigma_p\} + \{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\} + \{ \sigma_p, \dots, \sigma_{p+q}\}) \\ & =(\phi(\{ \sigma_0, \dots, \sigma_p\}) + \phi(\{ \sigma_0, \dots, \sigma_p\})) \cdot (\psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) + \psi(\{ \sigma_p, \dots, \sigma_{p+q}\})) \\ & =\phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) \\ & \qquad + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) \\ & =(\phi \cup \psi)(\{ \sigma_0, \dots, \sigma_{q + p}\}) + (\phi \cup \psi)(\{ \sigma_0, \dots, \sigma_{q + p}\}) \\ & \qquad + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) \\ & \stackrel{(*)}{\neq} (\phi \cup \psi)(\{ \sigma_0, \dots, \sigma_{q + p}\}) + (\phi \cup \psi)(\{ \sigma_0, \dots, \sigma_{q + p}\}) \\ & = (\phi \cup \psi)(\sigma) + (\phi \cup \psi)(\sigma) \end{align*}
$(*)$: provided that $\phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) + \phi(\{ \sigma_0, \dots, \sigma_p\}) \cdot \psi(\{ \sigma_p, \dots, \sigma_{p+q}\}) \neq 0$ which can easily granted for a proper choice of $\phi$, $\psi$ and $\sigma$.
What am I doing wrong here?