The 31-year-old's previous deal was due to expire after the home draw against Shrewsbury, but a new one has now been struck to extend his stay further.
The former Carlisle and Notts County man has impressed during his short time in Scunthorpe, netting five goals in 21 games.
He has been a regular in the first team since his arrival after being signed on a free transfer by former manager Alan Knill at the beginning of the season.
His most recent strike came in the 3-1 away victory at Leyton Orient in which he scored the Iron’s second goal of the game.
“Karl’s been a very, very good player for us.” manager Brian Laws told The Iron Player.
“People might look and say he hasn’t scored a great deal of goals but he has contributed with goals and also had a big contribution with assists as well.
“He’s been a good player for us and we’re delighted we’ve agreed terms with him.
“Hopefully he will help us no end to push on."