I’ve never seen this implication stated, but I’ve also never thought of a counter-example. Until now! So I thought I’d quickly share it.
First, to state the problem – every commutative operation I’ve seen is also associative. This means that if a * b = b * a, for any given operation *, then it’s also true that a * (b * c) = (a * b) * c.
It somehow makes intuitive sense that commutativity be a “more powerful” property than associativity. After all, if an operation can have its terms switched, and survive intact, surely it can weather a little order-of-operations rearrangement!
In any event, I came up with this function which is commutative, but not associative. In Haskell:
f :: Ord a => [a] -> [a] -> [a] f x y = if x < y then x ++ y else y ++ x
It takes two lists, and concatenates them in sorted order. Thus, swapping the operands has no effect on the outcome, but the operation (like regular concatenation) is inherently non-associative.
 `f` ( `f` ) == [1,3,2] ( `f` ) `f`  == [1,3,2] (commutes) ( `f` ) `f`  == [1,2,3] (does not associate)