The island nation emerged as a likely solution after crisis talks at the weekend between the two rivals in Dubai failed to end the stalemate.
“We have made the offer,” a Sri Lankan Cricket board official told AFP, adding the teams had been given the option of playing in Colombo and Kandy or Colombo only.
“We are awaiting a response from the PCB,” he said, referring to the Pakistan Cricket Board.
India and Pakistan were scheduled to play two Tests, five one-dayers and two Twenty20 internationals in December and January.
But Sri Lankan officials said that with time running out, the series would be shortened to limited-over matches if played on the island.
A Board of Control for Cricket in India spokesman declined to comment.
Pakistan have been playing their home series in the United Arab Emirates because of security fears at home, but India have refused to play there for the upcoming tournament.
India and Pakistan have not played a full series since 2007. New Delhi halted all cricket matches with Pakistan following the 2008 attacks in Mumbai, although they did play a limited-overs series in 2012.
India blamed militants based in Pakistan for the attacks which left 166 people dead.
Last month, hardline Hindu activists sabotaged talks between India and Pakistan cricket officials in Mumbai, underscoring the anger still felt by some.
Under a 2014 memorandum of understanding, both countries’ cricket boards had agreed to play six series between 2015-2023, with four to be hosted by Pakistan. But all series were subject to clearance from their respective governments.