zaproxy / zaproxy

The ZAP core project
https://www.zaproxy.org
Apache License 2.0
12.21k stars 2.21k forks source link

Certificate regeneration has problem with local servers, NPE in ExtensionNetwork.java line 1151 #8499

Closed LIttleAncientForestKami closed 3 weeks ago

LIttleAncientForestKami commented 4 weeks ago

Describe the bug

ZAP has detected that it's cert will expire. It asked me if I want to regenerate, I said yes. Cert was regenerated, but upon hitting save, an error (due to local servers' config?) popped up, and asked to make a report, hence this issue. See log file for details.

Steps to reproduce the behavior

Launch ZAP and agree when it asks to regenerate expired cert. Regenerate, then press save.

Expected behavior

Certificate is regenerated, saved, no errors happen.

Software versions

ZAP 2.15.0, via snap list. zaproxy 2.15.0 32 latest/stable psiinon classic

Java, via java --version: openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment 18.9 (build 11.0.12+7) OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7, mixed mode)

Ubuntu via inxi: Host: [redacted] Kernel: 6.5.0-35-generic x86_64 bits: 64 compiler: N/A Desktop: GNOME 42.9 (Wayland) tk: GTK 3.24.33 wm: gnome-shell dm: GDM3 42.0 Distro: Ubuntu 22.04.4 LTS (Jammy Jellyfish)

Screenshots

No response

Errors from the zap.log file

2024-05-28 11:48:06,957 [ZAP-BootstrapGUI] INFO  ExtensionKeyboard - Initializing keyboard shortcuts
2024-05-28 11:49:27,391 [AWT-EventQueue-0] ERROR AbstractParamContainerPanel - Failed to validate the panel: 
java.lang.NullPointerException: null
    at org.zaproxy.addon.network.ExtensionNetwork.removeStartedLocalServers(ExtensionNetwork.java:1151) ~[?:?]
    at org.zaproxy.addon.network.LocalServersOptionsPanel$ServersPanel.validateListeningAddresses(LocalServersOptionsPanel.java:255) ~[?:?]
    at org.zaproxy.addon.network.LocalServersOptionsPanel$ServersPanel.validate(LocalServersOptionsPanel.java:228) ~[?:?]
    at org.zaproxy.addon.network.LocalServersOptionsPanel.validateParam(LocalServersOptionsPanel.java:103) ~[?:?]
    at org.parosproxy.paros.view.AbstractParamContainerPanel.validateParam(AbstractParamContainerPanel.java:686) [zap-2.15.0.jar:2.15.0]
    at org.parosproxy.paros.view.AbstractParamDialog.validateParam(AbstractParamDialog.java:373) [zap-2.15.0.jar:2.15.0]
    at org.parosproxy.paros.view.AbstractParamDialog$1.actionPerformed(AbstractParamDialog.java:218) [zap-2.15.0.jar:2.15.0]
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) [?:?]
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) [?:?]
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) [?:?]
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) [?:?]
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) [?:?]
    at java.awt.Component.processMouseEvent(Component.java:6635) [?:?]
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3342) [?:?]
    at java.awt.Component.processEvent(Component.java:6400) [?:?]
    at java.awt.Container.processEvent(Container.java:2263) [?:?]
    at java.awt.Component.dispatchEventImpl(Component.java:5011) [?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2321) [?:?]
    at java.awt.Component.dispatchEvent(Component.java:4843) [?:?]
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) [?:?]
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) [?:?]
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) [?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2307) [?:?]
    at java.awt.Window.dispatchEventImpl(Window.java:2772) [?:?]
    at java.awt.Component.dispatchEvent(Component.java:4843) [?:?]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) [?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:721) [?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:715) [?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) [?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:745) [?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:743) [?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) [?:?]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) [?:?]
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) [?:?]
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) [?:?]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) [?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:721) [?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:715) [?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) [?:?]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]
2024-05-28 11:51:04,758 [ZAP-cfu] INFO  ExtensionAutoUpdate - There is/are 2 newer addons
2024-05-28 11:51:12,262 [AWT-EventQueue-0] ERROR UncaughtExceptionLogger - Exception in thread "AWT-EventQueue-0"
java.lang.UnsupportedOperationException: Desktop API is not supported on the current platform
    at org.jdesktop.swingx.hyperlink.HyperlinkAction.<init>(HyperlinkAction.java:131) ~[swingx-all-1.6.5-1.jar:1.6.5-1]
    at org.jdesktop.swingx.hyperlink.HyperlinkAction.createHyperlinkAction(HyperlinkAction.java:78) ~[swingx-all-1.6.5-1.jar:1.6.5-1]
    at org.jdesktop.swingx.hyperlink.HyperlinkAction.createHyperlinkAction(HyperlinkAction.java:62) ~[swingx-all-1.6.5-1.jar:1.6.5-1]
    at org.jdesktop.swingx.JXHyperlink.setURI(JXHyperlink.java:147) ~[swingx-all-1.6.5-1.jar:1.6.5-1]
    at org.zaproxy.zap.extension.autoupdate.ManageAddOnsDialog.setUriOrHide(ManageAddOnsDialog.java:1575) ~[zap-2.15.0.jar:2.15.0]
    at org.zaproxy.zap.extension.autoupdate.ManageAddOnsDialog$AddOnDetailsPanel.setDetails(ManageAddOnsDialog.java:1495) ~[zap-2.15.0.jar:2.15.0]
    at org.zaproxy.zap.extension.autoupdate.ManageAddOnsDialog.lambda$getInstalledAddOnsPanel$0(ManageAddOnsDialog.java:363) ~[zap-2.15.0.jar:2.15.0]
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:219) ~[?:?]
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:186) ~[?:?]
    at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(DefaultListSelectionModel.java:723) ~[?:?]
    at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(BasicTableUI.java:972) ~[?:?]
    at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1185) ~[?:?]
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298) ~[?:?]
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) ~[?:?]
    at java.awt.Component.processMouseEvent(Component.java:6635) ~[?:?]
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3342) ~[?:?]
    at java.awt.Component.processEvent(Component.java:6400) ~[?:?]
    at java.awt.Container.processEvent(Container.java:2263) ~[?:?]
    at java.awt.Component.dispatchEventImpl(Component.java:5011) ~[?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2321) ~[?:?]
    at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) ~[?:?]
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) ~[?:?]
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) ~[?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2307) ~[?:?]
    at java.awt.Window.dispatchEventImpl(Window.java:2772) ~[?:?]
    at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) ~[?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) ~[?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:743) ~[?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]

Additional context

No response

Would you like to help fix this issue?

thc202 commented 4 weeks ago

Second exception is unrelated and is being tracked in #8129.

LIttleAncientForestKami commented 4 weeks ago

I thought it might, but since it occurred so close time-wise decided to include it. Sorry for not making it clear and thanks for the info about the other ticket.