Just installed a clean 13.5.2 environment and see...
# help-with-umbraco
r
Just installed a clean environment and see the following messages directly warning NU1903: Package 'Lucene.Net.Replicator' 4.8.0-beta00016 has a known high severity vulnerability warning NU1903: Package 'System.Text.Json' 8.0.4 has a known high severity vulnerability 13.5.3 out soon?
l
:o I just updated to latest v13 yesterday and don't see any vulnerability notices
k
Then you're probably not including transitive packages. The two examples above are from Umbraco.Cms 13.5.2 (and also come from optional Umbraco packages, e.g., Umbraco Forms, and the Azure BLOb Storage Provider).
14.latest is about the same. Haven't checked 15.latest, but I can venture a guess.
l
I have the same issue. It seems that a lot of transitive vulnerabilities popped up recently. Since I always use 'treat warnings as errors', I couldn't build some packages, since it won't allow vulnerable dependencies. For now I included a non-vulnerable version of those packages as Top-Level package, but it's not ideal, maintenance wise.
s
You can speficic error codes, eg. NU1903 with NU1903 in your csproj. Then it will give the warning, but not count it as an error.
And yes, the proper thing to do is to take a dependency on the non-vulnerable versions. We could release a new version of the CMS every week instead but that would also not make anyone happy. Each new CMS release will update the dependencies of course, so either you wait or take a direct dependency.
r
Awesome that helped!
n
Also.. you can get aroud the Lucene one I think by installing the latest version of Examine - this has bumped it's lucene dependency (came out last week I think)
k
As a package developer I am stuggling to know which way to go with this, Traditionally I build the packages against the lowest possible version that they will work on, (e.g v13.0.0) so if you get someone picking up and installing your package it will work with every version above that. my understanding is , if i install Umbraco v13.2.5 and a package that requires say 13.0 then the actuall Umbraco dll's used will be the v13.2.5 ones ? (am i wrong). where as if i have Umbraco v13.2 installed and the package requires v13.4 then the v13.4 dlls' will override the core ones and the package has just upgraded my site ? (or at least the fact that the package will have a v13.4 dependency will do that for you?) So to stop unwanted upgrades of peoples sites, we stay low, and let them decided ? however with all the warnings firing around, should packages just be built against the latest and greatest at all times and its your own fault if you haven't upgraded umbraco when you install /upgrade the package?
or should packages use ranges? for dependencies, which isn't as easy as it use to be to do. but is still a thing
a
@Kevin Jump for an Umbraco package, I think the Umbraco dependency should be the lowest version of Umbraco that can be supported (e.g. 13.0.0, and not 13.5.2). For my packages, I assume that you already have installed Umbraco, and it's not my business to force you to upgrade if you haven't already done so. That unfortunately may lead to warnings about transitive vulnerable packages that may not be true since a newer version of the affected packages are installed in a newer version via other dependencies or directly in the project.
I think if you have explicitly installed 13.2 in your project and you install/update a package that requires 13.4, you'll get an error.
n
I would say it depends on what the Packages does - if you are explicitly using a bit of functionality that is impacted by a vulnerability, then I'd say the package needs to target the secure version, but if it's not, then it can be lowest possible version as what ever version the site is using is what's actually being used. ... if that makes sense?
a
@Nik absolutely makes sense ... I should have included that 😄
62 Views