Let's say we have a ciphertext of length $(N-1)B < n < NB$, for $B$ the blocksize at hand (typically 128 for AES), where the ciphertext is made with $C_1, C_2, C_3, C_4$, with $C_3$ being shorter that the rest.
In order to decrypt a ciphertext made using ciphertext stealing as you drafted, you have to:
- Decrypt the ciphertext just like you would for CBC without ciphertext stealing for the $N-2$ first blocks.
- Take the latest two blocks ($C_3, C_4$ in your example), and compute the length of the "stolen" ciphertext by computing $n-(N-1)B=a$ and deducing its length $B-a$.
- Decrypt the latest block, e.g. $C_4$ into its unencrypted value $E_4$
- Xor $E_4$ with the concatenation of $C_3$ and $B-a$ 0s like $C_3 | \underbrace{0\cdots 0}_{B-a}$, to obtain $M_4 | C'_3$
- Take the last $B-a$ bits of it, which is $C'_3$ and concatenate it with $C_3$, which you can finally decrypt just like you would usually.
I've committed a cri diagram, using the same colors as you, hope this helps:
Notice that this is assuming the same construction as you used in your graphic. (There are other ways to do it, too.)