You can try to put w = epsilon, but that only covers one string and leaves many other strings present in language.
Consider w = ab, then ww = (ab)(ab), so you need to compare first a of first string with first a of second string and so on. To do this, you need to store the first w, we can do this with stack of PDA but there is a problem that stack only accepts LIFO operation, but the a that you want to compare with is present at the bottom of the stack which is not directly accessible. You can’t also throw away the “b” at the top as you need it for further comparison.
After seeing first w, you need to compare like:
stack: top bottom
b a
with → a b
And also this CSL, so PDA won’t be able to accept it for this very reason.