R, 22 bytes
\(x)rep(1,strtoi(x,2)) Convert from binary and repeat 1 that many times.
Unfortunately shorter than the more-interesting (I think):
R, 3636 34 bytes
Edit: -2 bytes thanks to pajonk
\(x)Reduce(\(a,b)c(a,a,b[b]),x,NULL{}) Attempt This Online!Attempt This Online!
Input is a vector of binary digits; fold over (Reduce) this from the left, starting with an empty vector (NULL), at each step duplicating whatever we've got so far, and appending the new digit if it's a 1.