We can't get the precise values of $a$, $b$ and $c$, but we can determine them up to a constant.
More specifically, given any solution $(a, b, c)$ and any constant $C$, then $(a \oplus C, b \oplus C, c \oplus C)$ is also a solution, because the $C$'s cancel out when we XOR them. Furthermore, we can show that all solutions to the given system of equations can, in fact, be derived from a single solution in this way.
To show this, it's useful to generalize a bit. First of all, we note that the problem with three equations is simply a special case of the same problem with $n$ equations, where we're given
$$\begin{aligned}
a_2 \oplus a_1 &= b_1 \\
a_3 \oplus a_2 &= b_2 \\
&\ \ \vdots \\
a_n \oplus a_{n-1} &= b_{n-1} \\
a_1 \oplus a_n &= b_n
\end{aligned}$$
with known $(b_1, \dotsc, b_n)$, and wish to solve for $(a_1, \dotsc, a_n)$.
Next, it's useful to note that bitwise XOR is equivalent to (vector) subtraction modulo 2 (and also, of course, to vector addition modulo 2, since those are the same thing; but the equivalence to subtraction gives a nicer generalization here). That is, we may generalize the problem to
$$\begin{aligned}
a_2 - a_1 &= b_1 \\
a_3 - a_2 &= b_2 \\
&\ \ \vdots \\
a_n - a_{n-1} &= b_{n-1} \\
a_1 - a_n &= b_n
\end{aligned}$$
where the $a$'s and $b$'s are elements of an algebraic group* and $-$ is the subtraction operation defined by $x - y = x + (-y)$ (where $+$ is the group operation, and $-y$ is the inverse element of $y$). You can easily check that bitstrings indeed satisfy the definition of a group, with XOR as the group operation and each bitstring as its own inverse.
Why is this useful? Well, because as long as we're just doing addition (and subtraction, which is just addition of an inverse element), we can treat any such group elements just as if they were ordinary numbers, because (by definition) they obey the same algebraic rules. In particular, by adding $a_i$ to both sides of the $i$-th equation and simplifying, we can rearrange the equations above into the following equivalent form:
$$\begin{aligned}
a_2 &= b_1 + a_1 \\
a_3 &= b_2 + a_2 \\
&\ \ \vdots \\
a_n &= b_{n-1} + a_{n-1} \\
a_1 &= b_n + a_n.
\end{aligned}$$
From this, we can see that, if we just pick some value for $a_1$, then we can immediately read out the values of $a_2, \dotsc, a_n$ from the first $n-1$ equations, like this:
$$\begin{aligned}
a_2 &= b_1 + a_1 \\
a_3 &= b_2 + b_1 + a_1 \\
&\ \ \vdots \\
a_{n-1} &= b_{n-2} + \dotsb + b_2 + b_1 + a_1 \\
a_n &= b_{n-1} + b_{n-2} + \dotsb + b_2 + b_1 + a_1
\end{aligned}$$
Thus, for each value of $a_1$, there can be (at most) one solution to these equations.
Whether or not the values of so obtained in fact are a solution then depends on the last equation, which needs to yield the original $a_1$ value. However, it turns out that this doesn't depend on which value we pick! In particular, substituting the value of $a_n$ calculated above into the last equation gives
$$a_1 = b_n + b_{n-1} + b_{n-2} + \dotsb + b_2 + b_1 + a_1.$$
But now we can simply subtract $a_1$ from both sides to reduce this equation to:
$$0 = b_n + b_{n-1} + b_{n-2} + \dotsb + b_2 + b_1.$$
So if this equation, which only contains the $b$ values, holds, then so will the previous one (for any $a_1$!), and so every choice of $a_1$ will yield a solution to the original equation. In fact, all these solutions will be of the form $a_i = a_i^0 + a_1$, where $a_i^0$ is the value of $a_i$ obtained by starting with $a_1 = 0$. And conversely, if the last equation above does not hold, then the original system of equations is inconsistent, and has no solution at all.
*) In fact, I didn't even need to assume that the group is abelian, i.e. that $x + y = y + x$, although for XOR this does certainly hold. In a non-abelian group you may not be able to freely reorder the terms in a sum, which can sometimes get awkward, but I didn't really have much need for that here, so I decided to go ahead and prove a slightly more general result without that assumption.
Ps. If you still remember indefinite integrals from high school math, you may recall that the solution $F$ to an integral equation like $F = \int f(x)\,dx$ is only defined up to a constant: if $F$ is a solution, then so is $F + C$ for any constant $C$. This is the exact same situation, just with discrete pairwise differences instead of differentials (and with XOR instead of ordinary subtraction).
Basically, if we're only given the differences between adjacent elements in a sequence, we cannot uniquely determine the original sequence without some way to fix the starting value. Having the sequence loop around in a circle doesn't change this; it just adds an extra constraint that all the differences must add up to zero for there to be any solution at all.
x=a⊕b
,y=b⊕c
,z=a⊕c
, thenz=x⊕y
. Thus, in terms of information, the three valuesx
,y
,z
contain only 2 bits of information and thus cannot determine 3 independent values. In terms of algebra, we could say that the set of three equations are linearly dependent and define a plane in the Boolean space Oabc instead of a point. $\endgroup$