gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA2351 |
Titel | Zorg ervoor dat de invoer van DataSet.ReadXml() wordt vertrouwd |
Categorie | Beveiliging |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Nee |
De DataSet.ReadXml methode is aangeroepen of waarnaar wordt verwezen, en niet binnen automatisch gegenereerde code.
Deze regel classificeert automatisch gegenereerde code b:
ReadXmlSerializable
.ReadXmlSerializable
methode heeft een System.Diagnostics.DebuggerNonUserCodeAttribute.ReadXmlSerializable
methode bevindt zich binnen een type met een System.ComponentModel.DesignerCategoryAttribute.CA2361 is een vergelijkbare regel, voor wanneer DataSet.ReadXml deze wordt weergegeven in automatisch gegenereerde code.
Bij het deserialiseren van een DataSet met niet-vertrouwde invoer kan een aanvaller schadelijke invoer maken om een Denial of Service-aanval uit te voeren. Er zijn mogelijk onbekende beveiligingsproblemen met het uitvoeren van externe code.
Zie de beveiligingsrichtlijnen voor DataSet en DataTable voor meer informatie.
Het is veilig om een waarschuwing van deze regel te onderdrukken als:
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA2351
// The code that's violating the rule is on this line.
#pragma warning restore CA2351
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA2351.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
using System.Data;
public class ExampleClass
{
public DataSet MyDeserialize(string untrustedXml)
{
DataSet dt = new DataSet();
dt.ReadXml(untrustedXml);
}
}
CA2350: Zorg ervoor dat de invoer van DataTable.ReadXml() wordt vertrouwd
CA2353: Onveilige gegevensset of gegevenstabel in serialiseerbare type
CA2355: Onveilige gegevensset of gegevenstabel in de grafiek met gedeserialiseerde objecten
CA2356: Onveilige gegevensset of gegevenstabel in grafiek met webdeserialized objecten
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registreren