`\[FilledSquare]` is a font glyph and you cannot color parts of it. 

I believe you need to draw your markers with `Graphics` primitives. For example:

 square[in_, out_: Black, size_: 12] :=
 Graphics[{in, EdgeForm[{AbsoluteThickness[2], out}], Rectangle[]},
 PlotRangePadding -> 0,
 ImageSize -> size]

 data = {{1, 2, 3, 5, 8}, {2, 3, 6, 9, 10}, {4, 5, 7, 10, 12}};

 ListLinePlot[data, 
 PlotMarkers -> square /@ {Red, Green, Blue}
 ]

![enter image description here][1]

 ListLinePlot[data,
 PlotMarkers -> square @@@ {{Yellow, Red}, {White, Blue}, {Black, Pink}}
 ]

![enter image description here][2]


 [1]: https://i.sstatic.net/asB6A.png
 [2]: https://i.sstatic.net/KzZnl.png