You mention strict aliasing – but strict aliasing is concerned with aliases of different types. It doesn’t apply here.
There’s no rule that forbids this code. It’s the moral equivalent of the following code:
int x = 42;
int& y = x;
int& z = x;
Or, more relevantly, it’s equivalent to having several child nodes refer to the same parent node in a tree data structure.