I've had a few instances where I've needed to get the current page in a block controller or from an ActionFilter, so I thought I'd add a link to say:

Getting A Page Reference

var pageRouteHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<EPiServer.Web.Routing.PageRouteHelper>();
var pageReference= pageRouteHelper.PageLink;

Getting The Page Object


var pageRouteHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<EPiServer.Web.Routing.PageRouteHelper>();
var currentPage= pageRouteHelper.Page;