Cullen spent part of last season with Bolton Wanderers, and the 22-year-old had been expected to link up with another Championship team for the current campaign.
However, Charlton have announced that they have agreed to bring in the Hammers academy graduate, and boss Lee Bowyer has admitted that he was delighted to pull off what is considered to be a big coup for the Addicks.
Bowyer told the club's official website: "This is one that we thought was going to be out of our reach to be honest. He's a very good player, good experience in this league and went to the Championship last season so we thought he was going to be out of our reach.
"We had to just hang in there and bide our time and thankfully he's chosen to come to us. I think he's a great addition to the squad. He's a very good player in and out of possession so he'll be a good addition for us. I've always said I only want players that improve us, and he improves us."
Cullen has previously made 55 appearances in League One for Bradford City.