my doctor prescribed me this benzoyl peroxide gel for my face and i accidentally got a big glob of it on my rug. I went to clean it up with these red tissues and it started to turn my rug red! The next day, I put this carpet cleaner on it (one that has to sit for 15 minutes then you vacuum it) and it turned it orange!
Also if there are no scraps you may be able to go to a carpet store or Home Depot with a sample and get a remnant. You can also cut out a section from where it won't be noticed such as the back of a closet and then just switch the sections.
Your rug looks bleached. If that is the case, you will have to color it. But, if this indeed a stain causing this color: Go to Home Depot and pick up Liftoff 2 (oil and adhesives) It will be in the paint aisle. spray it on your stain, let sit for 30 seconds, scrub and vacuum. Repeat as necessary, rinse and let dry. However, like I said before, it looks like your rug is bleached, not stained.