The contract will pay the 37-year-old winger US$600,000 in base salary. The deal also includes an additional $350,000 in bonuses for games played.
Linden, who will be entering his 16th season with the Cancuks, recorded 12 goals and 13 assists in 80 games last season in Vancouver.
He is the all-time franchise leader in games played (1,081) and points (721).
In his 19-year NHL career with Vancouver, Washington, Montreal and the New York Islanders, Linden has recorded 368 goals and 487 assists in 1,323 career regular-season games.
The Canucks originally drafted the Medicine Hat, Alta., native second overall in the 1988 draft.